IISクラシックモードと統合モードの違い

5629 ワード

 


IIS7.0のWebアプリケーションには、クラシックモードと統合モードの2つの構成形式があります。


1、クラシックモード
クラシックモードは、以前のバージョンと互換性を持つため、ISAPI拡張を使用してASPを呼び出す.NET実行ライブラリは、元々IIS 6で実行する.0でのWebアプリケーションはIIS 7に移行する.0では、アプリケーションをクラシックモードに設定すれば、コードは基本的に変更せずに正常に動作します.
2、統合モード
統合モードは統一的な要求処理パイプであり、ASP.NET要求パイプはIISコアパイプと組み合わせられ、このモードはより良い性能を提供し、構成と管理のモジュール化を実現し、管理コードモジュールを使用してIISを拡張する際の柔軟性を増加させることができる.古いWebアプリケーションがIIS 7で実行する場合.0の統合モードでは、アプリケーションのwebが必要になる場合があります.configファイルは、特にIHttpHandlerインタフェースを実装するカスタムモジュールを使用した場合に修正されます.IIS7.0同じサーバ上で2つのモードのアプリケーションを同時にサポートできます.
IIS 7で統合モードを使用して、カスタムmoduleクラス【IHttpModule継承】を追加した後、webconfig種に対応するノード構成は以下の通りである.
<system.webServer>

    <validation validateIntegratedModeConfiguration="false" />

    <handlers>

      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />

      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />

      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

    </handlers>

    <modules>

      <add name="CusModule" type="MvcApp.Modules.CusModule,MvcApp"/>

    </modules>

  </system.webServer>