每次我必须使用IIS7为ASP.NET添加处理程序或模块时,说明总是告诉我将其合并为两个部分:system.web
和system.webserver
。
<system.web>
<httpHandlers>
</httpHandlers>
<httpModules>
</httpModules>
</system.web>
而且:
<system.webServer>
<modules>
</modules>
<handlers>
</handlers>
</system.webServer>
这两个部分有什么区别?
此外,如果我不将其添加到system.web
部分,我的Visual Studio 2008调试器也无法正常工作。
答案 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 +中可用)。