[Asp.net] IIS7の「クラシック」モードと「統合」パイプラインモードの違いは何ですか?


Answers

統合アプリケーションプールモード

アプリケーションプールが統合モードの場合、IISとASP.NETの統合された要求処理アーキテクチャを利用できます。 アプリケーションプール内のワーカープロセスが要求を受け取ると、その要求は順序付けられたイベントリストを通過します。 各イベントは、要求の一部を処理して応答を生成するために必要なネイティブモジュールと管理モジュールを呼び出します。

統合モードでアプリケーションプールを実行すると、いくつかの利点があります。 まず、IISとASP.NETの要求処理モデルが統一プロセスモデルに統合されています。 このモデルでは、IISやASP.NETで以前に複製された手順(認証など)は不要です。 さらに、統合モードでは、すべてのコンテンツタイプに対して管理対象機能を利用できるようになります。

クラシックアプリケーションプールモード

アプリケーションプールがクラシックモードの場合、IIS 7.0ではIIS 6.0ワーカープロセス分離モードと同様に要求が処理されます。 ASP.NET要求は、まずIISのネイティブ処理手順を経て、管理されたランタイムでマネージコードを処理するためにAspnet_isapi.dllにルーティングされます。 最後に、要求はIIS経由で返信され、応答が送信されます。

このIISとASP.NETの要求処理モデルの分離によって、認証や承認などの処理手順が重複しています。 さらに、フォーム認証などのマネージコード機能は、aspnet_isapi.dllによって処理されるすべての要求がマップされたスクリプトを持つASP.NETアプリケーションまたはアプリケーションでのみ使用できます。

運用環境をIIS 7.0にアップグレードし、アプリケーションを統合モードでアプリケーションプールに割り当てる前に、既存のアプリケーションの統合モードでの互換性をテストしてください。 アプリケーションが統合モードで動作しない場合は、アプリケーションをクラシックモードでアプリケーションプールに追加する必要があります。 たとえば、アプリケーションがIISから管理されたランタイムに渡された認証トークンに依存している可能性があります。また、IIS 7.0の新しいアーキテクチャにより、プロセスによってアプリケーションが中断されます。

取得元 : IIS7のDefaultAppPoolとClassic .NET AppPoolの違いは何ですか?

元のソース: IISアーキテクチャの概要

Question

私は昨夜ASP.NET MVCアプリケーションを導入していましたが、統合モードに設定されたIIS7で展開することはそれほど難しくないことがわかりました。 私の質問は違いは何ですか? そして、どちらか一方を使うことの意味は何ですか?




クラシックモードでは、IISはh ISAPI拡張とISAPIフィルタを直接動作させます。 ネイティブコード用とマネージコード用の2本のパイプラインを使用します。 クラシックモードでは、IIS 7.xはIIS 6と同じように機能し、IIS 7.xの機能から特別な利点を得ることはできません。

統合モードでは、クラシックモードの場合と同様に、IISとASP.Netは密接に結合されているだけで、Asp.netの2つのDLLに依存します。




Links