1. ホーム
  2. asp.net

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

2022-03-20 17:21:48

質問

昨夜、ASP.NET MVCアプリケーションをデプロイしていたところ、IIS7を統合モードに設定してデプロイした方が手間がかからないことがわかりました。質問は、この違いは何ですか?また、どちらかを使用することの意味は何ですか?

解決方法は?

クラシックモード(IIS6以下では唯一のモード)は、IISがISAPI拡張とISAPIフィルタのみを直接操作するモードです。実際、このモードでは ASP.NET は単なる ISAPI 拡張 (aspnet_isapi.dll) と ISAPI フィルタ (aspnet_filter.dll) に過ぎません。IIS は ASP.NET を ISAPI で実装された外部プラグインとして扱い、ブラックボックスのように動作します (そして ASP.NET にリクエストを渡す必要があるときだけ動作します)。このモードでは、ASP.NETはIISにとってPHPや他の技術と大差はありません。

一方、統合モードは、IIS7 の新しいモードで、IIS パイプラインが ASP.NET リクエスト パイプラインと緊密に統合されています (つまり、そのまま同じです)。ASP.NETはすべてのリクエストを見ることができ、途中で操作することができます。ASP.NETはもはや外部プラグインとして扱われることはありません。完全にIISに溶け込み、統合されているのです。このモードでは、ASP.NETは HttpModule は基本的に ISAPI フィルタが持っていたのとほぼ同じ力を持ち、ASP.NET HttpHandler は、ISAPI拡張とほぼ同等の能力を持つことができます。このモードでは、ASP.NET は基本的に IIS の一部となります。