SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)(AD)

ASP.NET CoreとComponentOneを使って、マルチプラットフォームで動作するWebアプリを作成しよう!【Windows編】

  • X ポスト
  • このエントリーをはてなブックマークに追加

インターネットインフォメーションサービス(IIS)を使用したASP.NET Coreアプリのホスティング

IISを使用したASP.NET Coreアプリのホスティング概要

 従来のASP.NETアプリケーションは、IISマネージャーからアプリケーションとして登録を行い、必要な設定を行うことで、IISのワーカープロセス上で動作することができました。

 しかし、前述のとおり、ASP.NET Coreクロスプラットフォームで動作できるWebサーバー機能を持つコンソールアプリケーションとして稼働します。

 つまり、Webアプリの実体はIISではなく、IISとは独立したコンソールアプリケーションにホストされて動作しています。

 IISからASP.NET Coreアプリを稼働させるためには、IISからHTTPを連携するように構成する必要があります。

 この一連のHTTPの連携を担うのが「ASP.NET Coreモジュール」とよばれるIIS連携モジュールです。

 ASP.NET Coreモジュールは、IIS内に組み込まれることで、ASP.NET Coreアプリへリクエストやレスポンスを連携するリバースプロキシーとしての機能を実現します。

 また、ASP.NET Coreアプリも、IISの持つセキュリティ機能を利用することで、Kestrelが持たない機能をカバーすることができます。

ASP.NET Core module
ASP.NET Core module

 それでは、以降で具体的な構築手順を確認しましょう。

必要なモジュールのセットアップ

 IISを利用するために、以下のセットアップを実施します。

  • IIS本体
  • .NET Core Windows Server Hosting Bundle

 IISを利用してASP.NET CoreのホスティングができるOSは以下の通りです。

プラットフォーム OS
サーバー Windows Server 2008 R2以降
クライアント Windows 7以降

 それぞれの有効化手順について以下に説明します。

クライアントOSにおけるIISの有効化

 クライアントOSの有効化は、コントロールパネルから「プログラム」>「プログラムと機能」>「Windows機能の有効化または無効化」から行うことができます。

 Windows 10では、設定から「アプリ」>「アプリと機能」>関連設定「プログラムと機能」>「Windows機能の有効化または無効化」から行うことができます。

 Windows機能の有効化または無効化をクリックして開くダイアログから、「インターネットインフォメーションサービス」を有効にします。

Windows機能の有効化または無効化
Windows機能の有効化または無効化

 「インターネットインフォメーションサービス」をクリックすると必要な機能が追加されます。

サーバーOSにおけるIISの有効化

 Windows Serverでは、「役割と機能の追加」から「Webサーバー(IIS)」にチェックを行います。

Web Serverの役割を追加
Web Serverの役割を追加

 チェックすると確認のダイアログが表示されますので、そのまま「機能の追加」ボタンをクリックします。

Webサーバーの機能追加確認ダイアログ
Webサーバーの機能追加確認ダイアログ

 ダイアログが閉じると元の「役割と機能の追加」画面に戻ります。

 その他には特に追加する機能はないので、「インストール」ボタンが有効になるまで「次へ」ボタンのクリックを行い、「インストール」ボタンをクリックします。

.NET Core Windows Serverホスティングバンドルをインストール

 セットアップ直後のIISには、.NET CoreやASP.NET Coreの実行に必要となるファイルはインストールされていません。

 そこで、IISを使用する場合はWindows Server専用のモジュール群である「.NET Core Windows Server ホスティングバンドル」のインストールを行います。

 .NET Core Windows Server ホスティングバンドルの実行には「Microsoft Visual C++ 2015 Redistributable Update 3」が必要になりますので、インストールしていない場合は先にこちらをインストールします。

.NET Core Windows Server ホスティングバンドルインストール画面
.NET Core Windows Server ホスティングバンドルインストール画面

 なお、筆者の環境では、図のように同意のためのチェックボックスが正しく表示されませんでしたが、マウスカーソルをチェックボックスのあたりに移動させると次の図のように表示することができました(Installボタンの上に注目)。

.NET Core Windows Server ホスティングバンドルインストール画面
.NET Core Windows Server ホスティングバンドルインストール画面

 すべてのインストールが完了したら、ここで一度、再起動を行います。

次のページ
IISの構成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

森 博之(AZPower株式会社)(モリ ヒロユキ)

 Microsoft Azure、.NETテクノロジーを使用したWebサービスのプロダクトアーキテクト。他にも技術記事の執筆やトレーニング、セミナースピーカーを行っている。 Microsoft MVPをDeveloper Technologies、Visual Studio and Development Technologies、Windows Development、Client App Dev、.NET、Silverlight、Visual C#などのコン...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10691 2018/03/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング