Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/03/16 14:00
目次

インターネットインフォメーションサービス(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 ホスティングバンドルインストール画面

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


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 森 博之(モリ ヒロユキ)

     .NETテクノロジーを中心とした開発支援や技術記事の執筆、セミナースピーカーを行っているフリーランスのソフトウェアエンジニア。  Microsoft MVPをVisual Studio and Development Technologies、Windows Development、Client...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5