每次我必须使用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调试器也无法正常工作 .
2 回答
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 .
前者适用于经典模式 .
后者适用于集成管道模式(在IIS7中可用) .