zoukankan      html  css  js  c++  java
  • 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请求的处理方式。类图如下所示:

     

  • 相关阅读:
    .Net缓存管理框架CacheManager
    .Net Attribute详解(下)
    .Net Attribute详解(上)-Attribute本质以及一个简单示例
    使用Web.Config Transformation配置灵活的配置文件
    Lazy<T>在Entity Framework中的性能优化实践(附源码)
    菜鸟程序员之Asp.net MVC Session过期异常的处理
    Windows下查看端口占用
    MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息
    如何恢复Mysql数据库
    Entity Framework做IN查询
  • 原文地址:https://www.cnblogs.com/PerfectSoft/p/2508484.html
Copyright © 2011-2022 走看看