什么是HttpHandlerJava认证考试

文章作者 100test 发表时间 2010:02:18 22:12:07
来源 100Test.Com百考试题网


  概述
  HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。
  IHttpHandler是什么
  IHttpHandler定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。HttpHandler与HttpModule不同,一旦定义了自己的HttpHandler类,那么它对系统的HttpHandler的关系将是“覆盖”关系。
  IHttpHandler如何处理HTTP请求
  当一个HTTP请求经同HttpModule容器传递到HttpHandler容器中时,ASP.NET Framework会调用HttpHandler的ProcessRequest成员方法来对这个HTTP请求进行真正的处理。以一个ASPX页面为例,正是在这里一个ASPX页面才被系统处理解析,并将处理完成的结果继续经由HttpModule传递下去,直至到达客户端。
  对于ASPX页面,ASP.NET Framework在默认情况下是交给System.Web.UI.PageHandlerFactory这个HttpHandlerFactory来处理的。所谓一个HttpHandlerFactory,所谓一个HttpHandlerFactory,是指当一个HTTP请求到达这个 HttpHandler Factory时,HttpHandlerFactory会提供出一个HttpHandler容器,交由这个HttpHandler容器来处理这个 HTTP请求。
  一个HTTP请求都是最终交给一个HttpHandler容器中的ProcessRequest方法来处理的。
  一个简单的HttpHandler容器
  通过实现IHttpHandler接口可以创建自定义HTTP处理程序,该接口只包含两个方法。通过调用 IsReusable,IHttpHandlerFactory可以查询处理程序以确定是否可以使用同一实例为多个请求提供服务。 ProcessRequest方法将HttpContext实例用作参数,这使它能够访问Request和Response内部对象。在一个 HttpHandler容器中如果需要访问Session,必须实现IRequiresSessionState接口,这只是一个标记接口,没有任何方法。
  示例1:
  using System.
  using System.Collections.Generic.
  using System.Text.
  using System.Web.
  using System.Web.SessionState.
  namespace MyHandler
  {
  ///
  /// 目的:实现一个简单的自定义HttpHandler容器
  /// 作者:文野
  /// 联系:[email protected]
  ///
  public class MyFirstHandler : IHttpHandler,IRequiresSessionState
  {
  #region IHttpHandler 成员
  public bool IsReusable
  {
  get { return true. }
  }
  public void ProcessRequest(HttpContext context)
  {
  context.Response.Write("
  Hello HttpHandler
  ").

相关文章


RFT中代码不能完全显示的解决方法Java认证考试
JAVA三次样条插值曲线Java认证考试
高质量软件开发人员的五大习惯Java认证考试
swt窗口范围内的LostFocus事件的实现Java认证考试
什么是HttpHandlerJava认证考试
Java开发人员的十大戒律Java认证考试
理解LoadAverage做好压力测试Java认证考试
EasyMock的应用的举例说明Java认证考试
可变MD5加密(Java实现)Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛