<system.web>和<system.webserver>之间的区别?</system.webserver> </system.web>

时间:2008-12-10 06:36:52

标签: asp.net iis-7 web-config

每次我必须使用IIS7为ASP.NET添加处理程序或模块时,说明总是告诉我将其合并为两个部分:system.websystem.webserver

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

而且:

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

这两个部分有什么区别?

此外,如果我不将其添加到system.web部分,我的Visual Studio 2008调试器也无法正常工作。

2 个答案:

答案 0 :(得分:152)

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

答案 1 :(得分:40)

前者适用于经典模式。

后者适用于集成管道模式(在IIS7 +中可用)。