Http处理程序和HTTP模块
2012-05-18 23:56
183 查看
ASP.NET HTTP 处理程序是响应对ASP.NET Web 应用程序的请求而运行的过程。最常用的处理程序是处理.aspx文件的ASP.NET页处理程序。用户请求.aspx文件时,页通过页处理程序来处理请求。可以创建自定义的HTTP处理程序将自定义输出呈现给浏览器。过程如图所示:
HTTP模块是一个在每次针对应用程序发出请求时调用的程序集。HTTP模块作为ASP.NET请求管道的一部分调用,它们能够在整个请求过程中访问生命周期事件。HTTP模块使你可以检查传入和传出的请求并根据请求进行操作。
开发自定义HTTP处理程序和HTTP模块之前,应先了解IHttpHandler和IHttpModule接口,IHttpHandler和IHttpModule接口是开发处理程序和模块的起始点。IHttpAsyncHandler接口是开发异步处理程序的起始点。类图如下所示:
IHttpHandler.IsReusable属性:获取一个值,该值指示其他请求是否可以使用IHttpHandler实例。
IHttpHandler.ProcessRequest方法:通过实现IHttpHandler接口的自定义HttpHandler启用HTTP Web请求的处理。
ASP.NET根据文件扩展名将HTTP请求映射到HTTP处理程序。创建自定义HTTP处理程序,需创建一个实现IHttpHandler接口的类来创建一个同步处理程序,必须实现接口中包含的IsReusable属性和ProcessRequest方法。IsReusable属性指定IHttpHandlerFactory对象是否可以将处理程序放置在池中,并且重新使用以提高性能。如果处理程序不能放在池中,则在每次需要处理程序时工厂都必须创建处理程序的新实例。
自定义IHttpHandlerFactory类,IHttpHandlerFactory类接收请求并负责向相应的HTTP处理程序转发请求。你可以通过创建一个实现了IHttpHandlerFactory接口的类来创建自定义HTTP处理程序工厂。自定义处理程序工厂通过创建不同的基于运行时条件的处理程序,使你可以更好地控制对HTTP请求的处理方式。类图如下所示:
相关文章推荐
- HTTP 错误 500.21 - Internal Server Error 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- ASP.NET HTTP模块和处理程序(6)
- ASP.NET HTTP模块和处理程序(7)(转载)
- ASP.NET中的HTTP模块和处理程序
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedP
- HTTP 错误 500.21 - Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法
- HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipe
- 第七章 设计程序架构 之 设计HTTP模块和处理程序
- HTTP 错误 500.21 - Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“I
- HTTP 错误 500.21 - Internal Server Error 处理程序“BlockViewHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler
- ASP.NET HTTP模块和处理程序(7)
- ASP.NET中的HTTP模块和处理程序
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedP
- HTTP 处理程序和 HTTP 模块概述
- ASP.NET中的HTTP模块和处理程序
- IIS - HTTP 错误 500.21 - Internal Server Error 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- ASP.NET 3.5核心编程学习笔记(41):HTTP处理程序与HTTP模块
- HTTP 处理程序和 HTTP 模块概述——附记
- 模块和处理程序之通过HttpModule和HttpHandler拦截入站HTTP请求执行指定托管代码模块
- HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipe