ASP.NET1.1 on IIS7.x.
来月開催される Tech・Tdays 2010 ではASP.NET4 の新機能について話をします。
そんなわけで現在、セッション資料を鋭意作成中なわけですが、昨日、同僚の荒井さんと話しをしていて "ASP.NET4 が動作するIIS のバージョンはなんぼからなんやろねぇ?" という話しになりました。
そこで私の脳裏に浮かんだのは、"そういや昔、IIS7 で ASP.NET 1.1 を動かしたいっていう相談を受けたっけなぁ" ということでした。
おそらく、Windows Server をお使い多くの企業様内では、ASP.NET 1.1 で作成された多くの Web アプリケーションが動作していることでしょう。
IIS7 では革新的かつ大きな構造の変更が行われ、かつ既定でインストールされる ASP.NET のバージョンは 2.0 ですが、ASP.NET 1.1 をホストできないわけではありません。
ただちょっと、ほんのすこーし、.....でもないですが、それなりの設定をしてあげれば IIS7 で ASP.NET 1.1 を動作させることが可能です。
もし、そういったことをご存じないために、つまりは ASP.NET 1.1 が IIS7 で動作するということをご存じないために、IIS7 の導入を躊躇されている方がいるとしたらそれは非常に残念なことです。
たしかに前バージョンの IIS6.0 は安定した、パフォーマンスにも優れた非常に良いものでありましたが、IIS7 はさらにさまざまな機能が加えられ、IIS6.0 にはなかった非常に高い拡張性を与えられています。
ASP.NET 1.1 をお使いの方々にもぜひ、 IIS7 の優れたパワー、スピード、破壊力(これは違いますね) を感じていただきたいと切に願うしだいです。
そんなわけで今回はASP.NET 1.1 を IIS7 で動作させるための手順を記述しようかと思ったのですが、なんと、IIS.NET にドキュメントが用意されておりました。
『How to install ASP.NET 1.1 with IIS7 on Vista and Windows 2008』
https://learn.iis.net/page.aspx/472/how-to-install-aspnet-11-with-iis7-on-vista-and-windows-2008/
いちおう、私が過去にお客様に紹介した手順も掲載しておきますので、ASP.NET 1.1 アプリケーションを IIS7.x で動作させる際には参考にしてみてください。
IIS 7.0 上で ASP.NET 1.1 Web サービス/ Web アプリケーションを動作させるための一般的な手順
コントロール パネル] - [プログラムと機能] - [Windows の機能の有効化または無効化] を開き、ASP.NET をホストするために必要な機能を有効にします。
必要な機能)
- Internet Information Service の既定で有効になる機能
- ASP.NET、および、ASP.NET が依存する各機能 (.NET 拡張機能、ISAPI フィルタ、ISAPI 拡張機能).NET Framework 1.1 および .NET Framework 1.1 SP1 をインストールします。
Microsoft .NET Framework Version 1.1 再頒布可能パッケージ
Microsoft .NET Framework 1.1 Service Pack 1
https://www.microsoft.com/downloads/details.aspx?FamilyID=A8F5654F-088E-40B2-BBDB-A83353618B38&displaylang=ja※SDK や Language Pack のインストールは任意です。
.NET Framework SDK Version 1.1
https://www.microsoft.com/downloads/details.aspx?familyid=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=jaMicrosoft .NET Framework Version 1.1 日本語 Language Pack
https://www.microsoft.com/downloads/details.aspx?FamilyId=04DBAF2E-61ED-43F4-8D2A-CCB2BAB7B8EB&displaylang=jaインターネット インフォメーション サービス (IIS) マネージャを開きます。
[接続] ペインで、アプリケーションプールを選択し、.NET Framework 1.1 のインストールにより、以下のアプリケーション プールが自動的に作成されていることをご確認ください。
- 名前: ASP.NET 1.1
- .NET Framework バージョン: .NET Framework v1.1.4322- マネージ パイプライン モード: クラッシック
[接続] ペインで、最上位階層のホスト名 (コンピュータ名) を選択します。
[機能ビュー] で、[ISAPI および CGI の制限] 機能を開きます。
.NET Framework 1.1 の ISAPI モジュール (aspnet_isapi.dll) に対する拡張を設定、または、追加します。
- ISAPI または CGI パス : %SystemRoot%\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
- 説明 : ASP.NET v1.1.4322 (任意)
- 拡張パスの実行を許可する : ON[接続] ペインで、該当の仮想ディレクトリをアプリケーションに変換、または、追加します。
手順 8. の際に、アプリケーションプールとして "ASP.NET 1.1" を指定するか、または、アプリケーションを右クリック - [詳細設定...] を選択し、動作 - アプリケーションに "ASP.NET 1.1" を指定します。
以上で ASP.NET 1.1 を IIS 7.0 で動作させるための設定は完了です。
補足事項
.NET Framework 1.1 のランタイムは、Windows Vista のデータ実行防止 (DEP) 機能をサポートしていないため、ASP.NET 1.1 Web サービス (Web アプリケーション) にリクエストを行うと、IIS ワーカー プロセスが応答を停止する現象が発生します。
この現象を回避するには、.NET Framework 1.1 の SP1 を適用してください。
文書番号: 916440
タイトル: You receive an error message about a DEP violation when you request an ASP.NET page for the .NET Framework 1.1 on Windows Vista
https://support.microsoft.com/kb/916440/en-us
https://support.microsoft.com/kb/916440/ja ※機械翻訳
.NET Framework 1.1 SP1 では、下記サポート技術情報記載の様々な問題が修正されております。
文書番号: 867460
タイトル: .NET Framework 1.1 Service Pack 1 (SP1) で修正される問題の一覧
https://support.microsoft.com/kb/867460/ja
なお、今回ご紹介した内容は、あくまでも弊社内で実施したテスト結果にすぎませんので、実際に ASP.NET 1.1 アプリケーションを IIS 7.0 へ移行をされる場合は、充分なテストを行ってください。
ではまた。