ASP.NET httpHandlers&;处理者

ASP.NET httpHandlers&;处理者,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我对system.web中的httpHandlers和system.webServer中的处理程序感到困惑。这两种配置之间的区别是什么?如何以及何时使用它们 实际上,另一个问题也适用于模块:system.web中的httpModules和system.webServerweb.config文件中的system.webServer部分指定了应用于web应用程序的IIS 7.0的设置。system.WebServer是配置部分的子级。有关详细信息,请参阅IIS 7.0:system.webServe

我对
system.web
中的httpHandlers和
system.webServer
中的处理程序感到困惑。这两种配置之间的区别是什么?如何以及何时使用它们


实际上,另一个问题也适用于模块:
system.web
中的httpModules和
system.webServer

web.config文件中的system.webServer部分指定了应用于web应用程序的IIS 7.0的设置。system.WebServer是配置部分的子级。有关详细信息,请参阅IIS 7.0:system.webServer节组(IIS设置架构)

指定ASP.NET配置部分的根元素,并包含配置ASP.NET Web应用程序和控制应用程序行为的配置元素<代码>httpHandlers和
处理程序
是相同的

要为IIS 6.0注册HTTP处理程序,应使用:

<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="SampleHandler.new" 
        type="SampleHandler, SampleHandlerAssembly" />
    </httpHandlers>
  </system.web>
</configuration>
<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="SampleHandler.new" 
        type="SampleHandler, SampleHandlerAssembly" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <add name=SampleHandler" verb="*" path="SampleHandler.new" 
      Modules="IsapiModule" 
      scriptProcessor="FrameworkPath\aspnet_isapi.dll"
      resourceType="File" />
  </system.webServer>
</configuration>

是asp.net的配置部分,通常在这里定义HttpHandler和HttpModule

随着iis7(2007)的推出,web服务器和asp.net得到了更大的集成,并引入了一个全新的IIS配置系统

作为这项工作的一部分,处理程序和模块定义的位置被移动到


如果您仍在使用IIS6(停止)或在IIS7+中使用经典管道模式,则需要将定义置于
下,如果您在IIS7+中使用集成管道模式,则将其置于
下。您不应该在这两个部分都使用它们。

您的IIS 7示例使用经典模式,而现代应用程序使用集成模式。文章对此进行了描述。