亚洲3P视频,日韩BBW无码,亚洲制服麻豆网站,88re伊人,九草精品视频在线观看,国产精品久久夜,色青青狠狠色,无码熟女一区二区三区,日本一区二区成人网站

新聞建站cms系統(tǒng)、政府cms系統(tǒng)定制開發(fā)

廣州網(wǎng)站建設(shè)公司-閱速公司

asp.net新聞發(fā)布系統(tǒng)、報紙數(shù)字報系統(tǒng)方案
/
http://m.duxiu2008.cn/
廣州網(wǎng)站建設(shè)公司
您當(dāng)前位置:首頁>網(wǎng)站技術(shù)

網(wǎng)站技術(shù)

Http Request在整個HttpModule中的生命周期圖

發(fā)布時間:2021/12/7 15:43:54  作者:Admin  閱讀:304  

廣告:

HttpModule對HttpApplication實例進(jìn)行處理,而HttpApplication有很多事件(對應(yīng)不同的生命周期),這樣就衍生出HttpModule內(nèi)部事件機(jī)制和生命周期。

一.HttpModule的事件

BeginRequest 指示請求處理開始
AuthenticateRequest 封裝請求身份驗證過程
AuthorizeRequest 封裝檢查是否能利用以前緩存的輸出頁面處理請求的過程
ResolveRequestCache 從緩存中得到相應(yīng)時候觸發(fā)
--------- 建立HttpHandler控制點, 接著處理(HttpHandler已經(jīng)建立,此后Session可用)--------
AcquireRequestState 加載初始化Session時候觸發(fā)
PreRequestHandlerExecute 在Http請求進(jìn)入HttpHandler之前觸發(fā)
HttpHandler.ProcessRequest()
--------- 返回到HttpModule接著處理(HttpHandler生命周期結(jié)束,Session失效)--------
PostRequestHandlerExecute 在Http請求進(jìn)入HttpHandler之后觸發(fā)
ReleaseRequestState 存儲Session狀態(tài)時候觸發(fā)
UpdateRequestCache 更新緩存信息時觸發(fā)
EndRequest 在Http請求處理完成的時候觸發(fā)
PreSendRequestHenaders 在向客戶端發(fā)送Header之前觸發(fā)
PreSendRequestConternt 在向客戶端發(fā)送內(nèi)容之前觸發(fā)
------------將處理后的數(shù)據(jù)返回客戶端-------------

說明:
a.BeginRequest和EndRequest分別是HttpModule容器最開始的的和最后的事件;
b.EndRequest之后還會觸發(fā)PreSendRequestHeaders事件和PreSendRequestContent事件,這不是在HttpModule外的兩個事件,表示 HttpModule結(jié)束,即將開始向Client發(fā)送數(shù)據(jù)。

二.驗證HttpModule生命周期
說明:

a.HttpModule容器會將HttpRequest傳送到HttpHandler容器,這個時間點是ResolveRequestCache事件;
b.HttpModule容器會建立HttpHandler實例作為入口—Session從此生效;
c.觸發(fā)AcquireRequestState事件以及PreRequestHandlerExecute事件;
d.HttpModule容器便將對HttpRequest的控制權(quán)限轉(zhuǎn)讓給HttpHandler容器;
e.HttpModule容器處理HttpRequest—使用自身的ProcessRequest方法,將對其控件權(quán)又還給HttpModule容器—之后Session失效。

三.利用HttpModule實現(xiàn)終止此次HttpRequest請求

在BeginRequest事件中,使用HttpApplication.CompleteRequest()方法,可以實現(xiàn)當(dāng)滿足一定條件時終止此次HttpRequest請求。
Application.CompleteRequest();
說明 :
a.對于一個HttpModule,在BeginRequest中終止,但是仍然會調(diào)用EndRequest事件,以及PreSendRequestHeaders事件和PreSendRequestContent事件。也可以說是直接跳轉(zhuǎn)到EndRequest事件,而不會調(diào)用這期間的事件;
b.如果有兩個HttpModule,在第一個HttpModule的BeginRequest中終止,僅僅不會調(diào)用第二個HttpModule的BeginRequest,但仍然會調(diào)用兩個EndRequest事件,以及PreSendRequestHeaders事件和PreSendRequestContent事件。

廣告:

相關(guān)文章
HttpModule
cms新聞系統(tǒng)購買咨詢
掃描關(guān)注 廣州閱速軟件科技有限公司
掃描關(guān)注 廣州閱速科技
大田县| 慈溪市| 新晃| 汉川市| 江门市| 阳谷县| 磐安县| 漳平市| 手游| 扎兰屯市| 西吉县| 正阳县| 邵武市| 新邵县| 余庆县| 会泽县| 江门市| 高邮市| 社会| 格尔木市| 萨嘎县| 麻栗坡县| 塔河县| 新乐市| 开江县| 昌江| 富宁县| 双城市| 慈溪市| 房山区| 安新县| 普兰县| 奉新县| 龙游县| 云龙县| 左权县| 综艺| 大化| 辰溪县| 九龙坡区| 罗甸县|