misc.log

日常茶飯事とお仕事と

IIS 8.0でASP.NETを利用可能にする

仮想環境に構築したWindows Server 2012にIISを入れて、ASP.NETのアプリを動かしてみよう……と思ったのはいいのですが、とりあえず

  • 作ったアプリの配置方法がわからない
  • おまけになんかIISASP.NETが使えてないっぽい

というので少し行き詰まってしまいました。というのも、IISASP.NETを使うための準備的な作業を説明している各種サイトに記載されている「Web拡張でASP.NETを指定する」という作業をやっていないので……。たぶん足りてないな、と(たいていの古い技術ブログはIIS 6を対象に書いていることが多く……)。

IISASP.NETモジュールを用意する

マイクロソフトTechNetのサイトに手順が記載されていました。

手順 1:IISASP.NET モジュールをインストールする
http://technet.microsoft.com/ja-jp/library/hh831475.aspx

とりあえず書いてあるとおりにやってみましょう。.NET Frameworkは4.5しか入れていないので、3.5は対象外です。IISは入れているので、上記ページの「UI を使用して IISASP.NET モジュールを Windows Server 2012 にインストールするには」のところから見ていけば良さそう。

ざっくりと手順を書くと…

  1. サーバーマネージャーのダッシュボードから「役割と機能の追加」を選択。
  2. 「Webサーバ(IIS)のツリーにある「アプリケーション開発」の中から、ASP.NET 4.5を選択する。

こんだけのようです。途中、「.NET Extensibility 4.5」「ISAPI拡張機能/フィルター」もあわせて必要、というメッセージが出ますが、OKで先に進めます。

f:id:frontline:20131020232608j:plain

これでいけるかな。

アプリケーションプールの設定を変える

追加インストールを指示したASP.NET 4.5モジュールがはいったなら、IISの管理機能を呼び出して、つくっておいたサイトをツリー上で右クリック→「詳細設定」を開きます。そこから「アプリケーションプール」を選択、ドロップダウンリストにある「.NET 4.5」を選択すれば……たぶんいいのでしょう。

f:id:frontline:20131020233804j:plain

とりあえず空っぽのサイトにアクセスしてみる

まだWebアプリは配置していない状態で、サイトにアクセスしてみます。上記手順を行う前はこんなエラーメッセージだったのですが…

f:id:frontline:20131020234146j:plain

サーバーエラー
404 - ファイルまたはディレクトリが見つかりません。
検索中のリソースは削除された可能性があります。または、名前が変更されたか、一時的に使用不可能になっています。

このように、メッセージが変わりました(見慣れた……あれ?なんで見慣れてんだろう……ページです)。とりあえず、.NET Frameworkの何かを呼ぼうとしている気配は出てきました。

f:id:frontline:20131020234223j:plain

'/' アプリケーションでサーバー エラーが発生しました。
----
ランタイム エラー

説明: サーバーでアプリケーションエラーが発生しました。このアプリケーションの…

あとは、「Visual Studioでそれとなく作ったASP.NETアプリだけど、一体何をどこに置けば配置したことになるのか?」という疑問の解消です。

Microsoft ASP.NET AJAX入門 (マイクロソフト公式解説書)

Microsoft ASP.NET AJAX入門 (マイクロソフト公式解説書)