web-dev-qa-db-ja.com

<system.web>と<system.webServer>の違いは?

IIS7でASP.NETのハンドラーまたはモジュールを追加する必要があるたびに、指示は常に2つのセクションsystem.webおよびsystem.webserverに組み込むように指示します。

<system.web>
    <httpHandlers>
    </httpHandlers>
    <httpModules>
    </httpModules>
</system.web>

この:

<system.webServer>
    <modules>
    </modules>
    <handlers>
    </handlers>
</system.webServer>

これら2つのセクションの違いは何ですか?

さらに、system.webセクションに追加しないと、Visual Studio 2008デバッガーも正しく動作しません。

194
danmine

System.webセクションはIIS 6.0を構成するためのものであり、system.webserverバージョンはIIS 7.0を構成するために使用されます。 IIS 7.0には、新しいASP.NETパイプラインといくつかの構成の違いが含まれているため、追加の構成セクションがあります。

しかしながら...

統合モードでのみIIS 7.0を実行している場合、両方のセクションにハンドラーを追加する必要はありません。 system.webに追加することは、間違っていない限り、クラシックモードで動作するIIS 7.0のフォールバックです。これに関する広範なテストは行っていません。

詳細については、 http://msdn.Microsoft.com/en-us/library/bb763179.aspx を参照してください。

156
Chris

前者はクラシックモード用です。

後者は統合パイプラインモード用です(IIS7 +で使用可能)。

41
leppie