IIS 8.0 ASP.NET 構成管理

投稿者: Won Yoo

互換性

バージョン メモ
IIS 8.0 IIS 管理ツールは IIS 8.0 の ASP.net 4.5 用に更新されました。
IIS 7.5 IIS 管理ツールは IIS 7.5 の ASP.net 4.5 用に更新されていません。
IIS 7.0 IIS 管理ツールは IIS 7.0 の ASP.net 4.0 用に更新されていません。

問題

Windows Server 2012 には、既定で .NET Framework 4.5 と、.NET 3.5 Framework のオプションのインストールが含まれています。 多くの場合、開発者と管理者は ASP.net 3.5 と ASP.net 4.5 の両方の Web アプリケーションを実行する必要があるため、両方を適切に管理する機能も必要です。

解決策

IIS 8.0 では、グラフィカル IIS マネージャー ツールと IIS のコマンド ライン管理ツールの両方を使用して、ASP.NET 3.5 アプリケーションと ASP.NET 4.5 アプリケーションの両方の管理をサポートしています。

グラフィカルとコマンド ラインの IIS 管理ツールはどちらも、ASP.NET アプリケーションの構成情報を読み書きするときに、バージョン固有の方法で動作します。 たとえば、IIS サーバー マネージャーで実行されている ASP.NET 管理モジュールには、アプリケーションで使用される特定の ASP.NET バージョンに適用できる構成オプションが表示されます。

ステップ バイ ステップの手順

前提条件:

このチュートリアルで示す概念には、IIS 8.0、ASP.NET 3.5、ASP.NET 4.5 のすべてがインストールされている Windows Server 2012 マシンが必要です。

このチュートリアルの前に、IIS 8.0 での ASP.NET 3.5 と ASP.NET 4.5 の使用に関するコンパニオン チュートリアル を完了している必要があります。 このドキュメントでは、3 つの機能をすべてインストールする手順と、ASP.NET の両方のバージョン用の サンプル アプリケーションについて説明します。

既知のバグの回避策:

現時点では、この機能に関する既知のバグはありません。

ASP.NET 管理モジュールの表示

IIS マネージャー UI を起動し、ウィンドウの左側にあるツリービューを展開して、[既定の Web サイト] とその子の両方が表示されるようにします。

Screenshot of the I I S Manager U I. The navigation tree is on the left pane. Default Web Site is selected. The icons dot net Roles, dot net Users, and Providers are highlighted.

IIS マネージャー UI の右側には、ツリービューで強調表示されている ASP.NET アプリケーションの管理に使用できる管理モジュールが表示されます。 この場合、[既定の Web サイト] が選択されており、この Web サイトでは既定で ASP.NET 4.5 がサポートされているため、IIS マネージャーには 15 個の異なる ASP.NET 固有の管理モジュールが表示されます。 上記に示した赤枠で囲まれたアイコンは、ASP.NET 4.5 アプリケーションでのみ使用できる 3 つの管理モジュールです。

以下に示す IIS マネージャーでは、ASP.NET 3.5 アプリケーションと ASP.NET 4.5 アプリケーションの管理の大まかな違いを確認できます。 "example35" アプリケーションは ASP.NET 3.5 用に構成されているため、使用可能な ASP.NET 固有の管理モジュールは 12 個だけです。

Screenshot of the I I S Manager UI dialog box. In the left pane, example thirty five is selected.

前述のように、IIS 8.0 の IIS マネージャーでは、ASP.NET 4.5 を管理する際に 3 つの追加管理モジュールがサポートされます。

  • プロバイダー: この管理モジュールでは、ASP.NET 4.5 のメンバーシップ、ロール マネージャー、プロファイル機能のプラグ可能な永続化プロバイダーの一元管理がサポートされています。
  • .NET ユーザー: ASP.NET 4.5 アプリケーションのメンバーシップ ユーザーの対話型 UI ベースの作成、削除、変更。
  • .NET の役割: UI ベースのロールの作成/削除、およびロールとの間でユーザーを追加および削除するための ".NET ユーザー" モジュールとの統合。 前の 2 つの管理モジュールと同様に、".NET の役割" モジュールは、ASP.NET 4.5 アプリケーションを管理するために使用されます。

ASP.NET コンパイル設定の管理

ASP.NET 3.5 と ASP.NET 4.5 の両方用に存在する多くの管理モジュールでは、同じ機能が公開されています。 ただし、一部の ASP.NET 機能が時間の経過とともに進化するにつれ、新しい .NET Framework バージョンでさらに構成オプションが追加されています。 IIS マネージャーの ASP.NET 管理モジュールでは、管理されている ASP.NET アプリケーションのバージョンに応じて表示するオプションを動的に変更することで、これをサポートしています。

ASP.NET 3.5 の .NET コンパイルのスクリーンショットを以下に示します。

Screenshot of the dot NET Compilation for A S P dot NET three dot five. The Display and Friendly Names columns are shown.

ASP.NET 4.5 の対応する構成を以下に示します。 新しい ASP.NET 4.5 機能を含むように構成オプションが拡張されていることがわかります。

Screenshot of the dot NET Compilation for A S P dot NET three dot five. Enable J I T Profiling and Enable Prefetch behaviors are highlighted.

ASP.NET 4.5 アプリケーションで使用可能な 2 つの新しいオプションは次のとおりです。

  • Enable JIT Profiling (JIT プロファイルを有効にする): 既定では、ASP.NET 4.5 は CLR の JIT コンパイルで動作し、追加の CPU コアを使用して、JIT の投機的実行パスのバックグラウンド コンパイルを可能にします。
  • Enable Prefetch (プリフェッチを有効にする): ASP.NET 4.5 コンパイル システムを Windows Server 8 Superfetch サービスと統合する Windows Server 2012 でのみ使用できる ASP.NET 4.5 機能。 Superfetch サービスと ASP.NET プリフェッチ オプションの両方が有効になっている場合、Windows Server 2012 は、マネージド アセンブリを読み込むときにディスク パフォーマンスを動的に最適化するために、Web アプリケーションの起動時に ASP.NET コンパイルをプロファイリングします。

ASP.NET マシン キーの設定の管理

ASP.NET 3.5 のマシン キーのスクリーンショットを以下に示します。 [検証方法] または [暗号化方法] ドロップダウンには、ASP.NET 3.5 のさまざまなセキュリティ機能で使用されるサポートされているハッシュおよび暗号化アルゴリズムが表示されます (注: 下の図では、両方のオプション セットを表示できるようにドロップダウンが水平方向に配置されています)。

Screenshot of the Machine Key dialog box. the S H A one Validation Method is selected. The Auto Encryption method is selected.

ASP.NET 4.5 の対応する構成を以下に示します。

Screenshot of the Machine Key dialog box. The H M A C S H A two five six, the H M A C S H A three eight four, and the H M A C S H A five one two are highlighted.

ASP.NET 4.5 では、同じ暗号化アルゴリズムのセットを使用できます (AES は .NET 2.0 まで使用可能でした)。 ただし、ASP.NET 4.5 では、ハッシュ アルゴリズムの組み込みサポートが拡張され、キー付きハッシュ アルゴリズム (HMACSHA256、HMACSHA384、HMACSHA512) の SHA-2 ファミリが含まれています。

ASP.NET ページおよびコントロールの管理

ASP.NET 3.5 のページおよびコントロールのスクリーンショットを以下に示します。 管理モジュールには、ASP.NET 3.5 アプリケーションで一般的に使用される構成オプションのサブセットが表示されます。

Screenshot of the Pages and Controls page for A S P dot NET three dot five. The Buffer behavior is highlighted.

ASP.NET 4.5 の対応する構成を以下に示します。 [動作] 部分で使用できるオプションが拡張され、ASP.NET 4.5 の新しい設定が含まれています。

Screenshot of the Pages and Controls page. The Client I D Mode and Control Rendering Compatibility Version Behaviors are highlighted.

ASP.NET が異なるバージョンを通じて進化するにつれ、さまざまな機能やコントロールによって出力される HTML、Javascript、CSS に対して継続的に変更が加えられています。 ただし、既存のアプリケーションでは、レンダリングされた出力に対して特定の形式が想定されている場合があります。 ASP.NET 4.5 は、"ページおよびコントロール" 管理モジュールで公開されている新しい設定を使用して、古いレンダリング形式をサポートするように構成できます。

  • ClientID Mode (ClientID モード): [予測可能] という新しい設定に既定で設定され、レンダリングされた HTML 要素の "id" 属性に対して安定した識別子が出力されます。 この設定を [AutoID] に変更すると、ASP.NET の以前のリリースで使用されていた ID 生成の動作を模倣できます。
  • Control Rendering Compatibility Version (レンダリング互換性バージョンの制御): この設定の名前が示すように、さまざまな ASP.NET コントロールで使用されるレンダリングされた HTML/Javascript/CSS 出力のバージョンを制御します。 このプロパティは [3.5] に設定できます。その場合、ASP.NET 4.5 では、ASP.NET 3.5 によって作成された形式に一致する出力が出力されます。

まとめ

IIS 8.0 では、異なるアプリケーション プールを使用して ASP.NET 3.5 と ASP.NET 4.5 の両方のアプリケーションを同じマシン上で実行し、各 .NET Framework バージョンをホストできます。 両方の種類の ASP.NET アプリケーションの管理をサポートするために、IIS 8.0 の管理ツール (UI とコマンド ラインの両方) では、複数の ASP.NET バージョンの管理もサポートされています。 さらに、IIS 8.0 サーバー マネージャー UI では、管理されている ASP.NET アプリケーションのバージョンに応じて、適切な管理オプションが動的に表示されます。