ASP.NET PipeLine #Reprinted#
從ASP.NET 1.0 起,相比于ASP中的COM, PipeLine 就是一項重大的改進。 ASP.NET 時代的管道模型究竟是怎么樣的?????????????????????
???????????????????????
我們能接觸到的四個最重要的概念就是HttpApplication, theHttpContext, the HttpModule, and the HttpHandler.????????????
?
????????
??????????????????????? The HttpApplication????????????????????
一般來說,一個Request 的Endpoint是一個Http Handler。 但是一個Handler存在的周期非常的短,比如說我們想緩存一個全局的對象,無法在這個Handler???????????????????????? 中去長久保存。而HttpApplication就有這個作用。????????????????????
The HttpContext????????????????????
一個Pipe周期中各個過程直接需要傳遞Request的相關(guān)信息,就需要這么一個中介。值得注意的是我們并不需要顯式的去傳遞這個HttpContext, 因為這個對象存在于PipeLine中可以靜態(tài)的獲得。????????????????????
The HttpModules????????????????????
??????????????????????? HttpModules
如果說Http Handler是一個Request的終點的話,Http Modules是所有請求必經(jīng)之路PipeLine的一段路。????????????????????
???????????????????????
首先要注冊Modules, 一般在Web.config. 當(dāng)然IIS的集成模式下,可以用命令行的方式注冊。????????????????????
Modules 可以跟蹤很多事件,然后在這些事件中處理Request.????????????????????
?
??????????????????????? HTTP Modules 和Global.asax 的選擇????????????????????
Modules的最大好處就是能重用,能編譯放到GAC里面。????????????????????
1 如果代碼不需要重用, Global.asax 足夠了????????????????????
2 如果有特殊需求,比如說 Session_Start and Session_End的事件在Modules里面是無法處理的。????????????????????
The HttpHandlers????????????????????
是一個Request的Endpoint.像aspx,asmx,ashx這些其實就是實現(xiàn)了IHttpHandler接口的一些類。
轉(zhuǎn)載于:https://www.cnblogs.com/wushuaiyi/p/4642837.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET PipeLine #Reprinted#的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018建行转账多久到账
- 下一篇: 跳失率是什么意思