zoukankan      html  css  js  c++  java
  • HttpModel 和 HttpHandle

    页面的请求过程:

    HttpRequest->

    inetinfo.exe->

    aspnet_isapi.dll->

    Http pipeline(命名管道)->

    aspnet_wp.exe->

    HttpRuntime->

    HttpApplication Factory->HttpApplication->

    HttpModule->

    HttpHandler Factory->HttpHandler->

    HttpHandler.ProcessRequest()

    当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的工作,或者在某些情况下干脆终止满足一些条件的HTTP请求,从而可以起到一个Filter过滤器的作用.

    HttpModule 事件

    BeginRequest 指示请求处理开始
    AuthenticateRequest 封装请求身份验证过程
    AuthorizeRequest 封装检查是否能利用以前缓存的输出页面处理请求的过程
    ResolveRequestCache 从缓存中得到相应时候触发
    AcquireRequestState 加载初始化Session时候触发
    PreRequestHandlerExecute 在Http请求进入HttpHandler之前触发
    PostRequestHandlerExecute 在Http请求进入HttpHandler之后触发
    ReleaseRequestState 存储Session状态时候触发
    UpdateRequestCache 更新缓存信息时触发
    EndRequest 在Http请求处理完成的时候触发
    PreSendRequestHenaders 在向客户端发送Header之前触发
    PreSendRequestConternt 在向客户端发送内容之前触发
    欢迎指正:haizi2014@qq.com
  • 相关阅读:
    【以前的空间】poj 2288 Islands and Bridges
    【以前的空间】网络流合集
    【以前的空间】 单调队列系列
    【以前的空间】几道平衡树
    【以前的空间】vijos 1720 阿狸的打字机
    对拍程序
    【Ubuntu】编写一个c语言代码
    用Matlab对数据进行线性拟合算法
    Oracle视图传递参数
    oracle decode的用法
  • 原文地址:https://www.cnblogs.com/hcfan/p/5160999.html
Copyright © 2011-2022 走看看