<system.web>和<system.webServer>有什么区别?

每次我必须为ASP.NET添加一个处理程序或模块时,指令总是告诉我把它放到两个地方,system.web和system.webserver。

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

和这个:

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

两者有什么区别?
补充:如果我不把它添加到我的system.web,我的VS 2008debugging器也不能正常工作。

system.web部分用于configurationIIS 6.0,而system.webserver版本用于configurationIIS 7.0。 IIS 7.0包含一个新的ASP.NETpipe道和一些configuration差异,因此额外的configuration部分。

然而…

如果仅在集成模式下运行IIS 7.0,则不需要将处理程序添加到两个部分。 将它添加到system.web也是在经典模式下运行的IIS 7.0的一个回退,除非我错了。 我还没有做过广泛的testing。

有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/bb763179.aspx

前者是用于经典模式。

后者用于集成pipe道模式(可用于IIS7 +)。