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

3650 ワード

IIS 7.0では、アプリケーション・プールには統合モードとクラシックモードの2つの実行モードがあります.
 
アプリケーション・プール・モードは、サーバが管理コード要求を処理する方法に影響します.
管理アプリケーションが統合モードのアプリケーションプールで実行する場合、サーバはIISとASPを使用する.NETの統合要求処理パイプは要求を処理する.
管理アプリケーションがクラシック・モードのアプリケーション・プールで実行されている場合、サーバはAspnet_を通過します.isapi.dllは、IIS 6.0でアプリケーションが実行するように要求を処理する管理コード要求をルーティングする.
 
クラシックモード
 
IIS 6またはそれ以前のバージョンと互換性を保つモードを指す.
IIS 6.0のクラシックモードでは、ASP.NETはIISに追加されたISAPIである.IIS 7.0がこのモードをサポートしているのは,後方互換性を実現するためである.しかし、古典的なモードには、多くの統合モードが提供できる特性が欠けています.古典的なモードでは、IISは独自のパイプを有し、これらのパイプはISAPI拡張を作成することによって拡張することができ、ISAPI拡張は開発が困難であることで知られている.ASP.NETはISAPI拡張として動作し,IISパイプの1つの構成部分にすぎない.
なお、この場合、ASP.NETはIISがISAPI拡張を処理する場合にのみ機能する.
ファイル拡張子を用いて,どのISAPIプロセッサを使用するかを判断できる.例えば、.aspxおよび.ascxという拡張子を有するファイルを aspnet_isapi.dllにマッピングすることができる.さらに、.aspという拡張子のファイルをasp.dllにマッピングすることで、従来のASPページを処理することができる.さらに、拡張子.phpのファイルをphp.dllにマッピングすることで、php.dllがインストールされていることを前提としてPHPページを処理することができる.
さらに,IIS 6.0とIIS 7.0の古典的モードでは,いくつかの特性が繰り返される.例えば、IISは非ASPを処理することができるため、エラー処理は繰り返しの特性である.NETページ、ASP.NETは、プロセッサをaspnet_isapi.dllにマッピングしたすべてのページを処理することができる.
IIS 6.0では、すべてのファイルタイプをASPにマッピングできます.NETですが、このようにするにはいくつかの制限があります.最大の制限は、デフォルトドキュメントをどのように処理するかです.デフォルトドキュメントは、global.asaxまたはHTTPモジュールでデフォルトドキュメントとして指定されている場合にのみ処理されます.いくつかのカスタム構成では、aspnet_isapi.dllを使用してすべてのファイルタイプを処理する必要があります.IIS 7.0はこの問題を簡単に解決できる.
クラシックモードは、web.configを変更することなく既存のWebサイトを実行することができるので、使用するWeb farmにIIS 6.0サーバとIIS 7.0サーバが含まれている場合、または何らかの理由でweb.configファイルを新しい構文に従ったweb.configファイルに変換できない場合、クラシックモードを使用することができる.
 
 
統合モード:
 
この新しいモデルでは、ASPをNETはIISとよりよく統合され、ASP.でNETでは、Moduleなどの機能を記述してIISの動作(拡張)を変更します.統合の利点は,ISAPIを介さずに速度と安定性を向上させることである.拡張については、IISおよび他のタイプのリクエストに対してより多くの制御を行うことができます.
統合モードでASPをNETはIISの有機的な構成部分である.現在、IISサーバの機能は40以上のモジュールに分割するので、IISとASPをNETの機能は異なる構成部分に分かれている.StaticFileModuleBasicAuthenticationModuleFormsAuthenticationSessionProfileRoleManagerなどのモジュールは、IISパイプの構成要素である.
なお、FormsAuthenticationSessionProfile、およびRoleManagerは、本来ASPである.NETの構成部分は,IISとは無関係である.
IISパイプラインは20種類以上のイベントを提供し、開発者はこれらのイベントを利用してWebサーバの機能を拡張することができる.実際には、applicationHost.configを更新しながらカスタムモジュールを作成することで、マイクロソフト社が提供する内蔵モジュールを使用することなく、カスタムモジュールのみを使用することができます.IIS 7.0のモジュールをカスタムモジュールに置き換えることができます.
 

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


IIS 7.0はプロファイルをいくつか修正し、Web開発者はこれらの修正内容を使用することができます.例えば、セクションは、古典的モードでも統合モードでもセクションを識別できるように変更され、同時に、セクションはapplicationHost.configファイルに設定してもよいし、web.configファイルに設定してもよい.セクションでは、静的ページも動的ページも制御できます.古典的なモードでも、セクションは重要な役割を果たし、web.configファイルでWeb開発者が異なるIIS構成を設定するのを支援します.
統合モードでは、HTTPモジュールとHTTPプロセッサは、中ではなく中で定義されます.統合モードでHTTPモジュールまたはHTTPプロセッサを含むweb.configファイルを実行すると、失効します.幸いなことに、マイクロソフト社は500.22という番号のエラー情報を詳細に規定しており、このエラー情報はweb.configファイルを徐々に移行する方法を示しています.