部署 HTTP 处理程序和 HTTP 模块

ASP.NET 提供了 IHttpHandlerIHttpModule 接口,它可使您使用与在 IIS 中所用的 Internet 服务器 API (ISAPI) 编程接口同样强大的 API,而且具有更简单的编程模型。HTTP 处理程序对象与 IIS ISAPI 扩展的功能相似,而 HTTP 模块对象与 IIS ISAPI 筛选器的功能相似。

ASP.NET 将 HTTP 请求映射到 HTTP 处理程序上。每个 HTTP 处理程序都会启用应用程序内单个的 HTTP URL 处理或 URL 扩展组处理。HTTP 处理程序具有和 ISAPI 扩展相同的功能,同时具有更简单的编程模型。

HTTP 模块是处理事件的程序集。ASP.NET 包括应用程序可使用的一组 HTTP 模块。例如,ASP.NET 提供的 SessionStateModule 向应用程序提供会话状态服务。也可以创建自定义的 HTTP 模块以响应 ASP.NET 事件或用户事件。

编译、部署和注册 HTTP 处理程序

  1. 为位于应用程序的虚拟根下 \Bin 目录中的 HTTP 处理程序编译和部署 .NET 类。详细信息,请参阅部署本地应用程序组件。
  2. 在应用程序的 Web.config 配置文件中注册同步或异步 HTTP 处理程序。下例将所有的 HTTP 请求映射到程序集 MyHandler.New(位于 MyHandler.Fin 文件)中的 MyHandler 类和 Myhandler.dll 类上。
    <configuration>
       <system.web>
          <httpHandlers>
             <add verb="*" path="MyHandler.New" 
                   type="MyHandler.New, MyHandlerAssembly" />
             <add verb="*" path="*.myNewFileExtension" 
                   type="MyHandler.Fin, MyHandlerAssembly" />
          </httpHandlers>
       <system.web>
    </configuration>

    <httpHandlers> 配置节中的 <add> 元素有三种属性:pathtypeverb。详细信息,请参阅 <httpHandlers> 的 <add> 元素

  3. 将 HTTP 处理程序扩展注册为 IIS 中的脚本映射。详细信息,请参阅设置应用程序映射

编译、注册和部署 HTTP 模块

  1. 为位于应用程序的虚拟根下 \Bin 目录中的 HTTP 模块编译和部署 .NET 类。详细信息,请参阅“部署本地应用程序组件”。
  2. 在应用程序的 Web.config 配置文件中注册 HTTP 模块。下例向应用程序注册了 OutputCache 模块。
    <configuration>
       <system.web>
          <httpModules>
             <add name="OutputCache"
                  type="System.Web.Caching.OutputCacheModule, System.Web,
                        Version=1.0.2800.0, Culture=neutral,
                        PublicKeyToken=b03f5f7f11d50a3a"/>
          </httpModules>
       <system.web>
    </configuration>

    详细信息,请参阅 <httpModules> 的 <add> 元素

有关操作和注册 HTTP 处理程序和 HTTP 模块的详细信息,请参阅 MSDN Library 中有关 HTTP 处理程序或 HTTP 模块的信息。



相关主题


© 1997-2003 Microsoft Corporation。保留所有权利