zoukankan      html  css  js  c++  java
  • IHttpModule与IHttpHandler的区别整理

    HttpModule

    在页面生命周期中这两个是很重要的接口,

    在系统中的HttpModule类也是实现了IHttpModule这个接口,然后给请求管道注册了19个事件。

    当然 ,咱们程序员也可以自己来写一个类,让这个类实现这个IHttpModule接口,然后在实现Init()这个方法,在这个方法中可以为请求上下文注册19个事件,从而达到19个事件为我们所用。

    IHttpModule是一个五谷杂粮都吃的家伙,无论来的是什么请求(.aspx.html.rar)等都会经过HttpModule过滤器。

    实现IHttpModule接口的类,是应用程序集,而非页面级。

    HttpModule只是在页面处理前和后进行处理(在页面顶部或者尾部加广告,处理session),而不会对请求做处理。

    步奏:

    1:创建一个类,实现IHttpModule接口,实现接口中2个成员方法Init(),Dispose()

    2:在Init()方法中可以对19个事件进行注册方法,实现方法。

    3:编写方法,HttpApplication app=(HttpApplication)sender;

    然后对app对象进行操作。

    4:在web.config文件中填写<httpmodules>

    <add name=demo type=命名空间+类名,程序集名>

    </httpmodules>

     

    HttpModule处理被截成两块,一块在HttpHandler之前执行,一块在HttpHandler之后执行

    HttpHandler

    HttpHandler是一般处理程序。可以对请求做真正的处理。不会对静态文件请求做处理。

    实现IHttpHandler接口的类,必须实现Is Reusable属性(一般返回true)ProcessRequest()方法

    PR方法中可以得到请求上下文(context),对请求做处理。

    可以使用HttpHandler做验证码,压缩图片,图片防盗链等处理

  • 相关阅读:
    对象数组深拷贝
    百度地图 轨迹
    vant mp-vue
    Nginx代理webSocket时60s自动断开, 怎么保持长连接
    python_传递任意数量的实参
    python_函数传递列表
    python_形参、实参
    python_函数、局部变量与全局变量
    python_三级字典
    python_字典的使用
  • 原文地址:https://www.cnblogs.com/alua/p/3010447.html
Copyright © 2011-2022 走看看