• Http处理程序和HTTP模块


      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请求的处理方式。类图如下所示:

     

  • 相关阅读:
    AC日记——[HNOI2008]GT考试 bzoj 1009
    AC日记——[SCOI2009]游戏 bzoj 1025
    AC日记——[HNOI2010]BOUNCE 弹飞绵羊 洛谷 P3203
    AC日记——旅游 bzoj 2157
    NOIP模拟2017.6.11解题报告
    AC日记——【模板】Link Cut Tree 洛谷 P3690
    AC日记——[SDOI2010]大陆争霸 洛谷 P3690
    [NOI2010]超级钢琴 倍增
    [HNOI2004]L语言 字典树 记忆化搜索
    对拍
  • 原文地址:https://www.cnblogs.com/PerfectSoft/p/2508484.html
Copyright © 2020-2023  润新知