人妻精品国产一区二区,精品国产第一国产综合精品,国产精品视频一区二区三区无码 ,久久综合色之久久综合

新聞建站cms系統、政府cms系統定制開發

廣州網站建設公司-閱速公司

asp.net新聞發布系統、報紙數字報系統方案
/
http://www.xdshhw.cn/
廣州網站建設公司
您當前位置:首頁>網站技術

網站技術

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

發布時間:2021/12/7 15:43:54  作者:Admin  閱讀:258  

廣告:

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

一.HttpModule的事件

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

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

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

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

三.利用HttpModule實現終止此次HttpRequest請求

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

廣告:

相關文章
HttpModule
cms新聞系統購買咨詢
掃描關注 廣州閱速軟件科技有限公司
掃描關注 廣州閱速科技
主站蜘蛛池模板: 炎陵县| 东台市| 寿宁县| 祁东县| 蒲城县| 南和县| 板桥市| 新兴县| 三明市| 静宁县| 太仓市| 海丰县| 中超| 六安市| 利川市| 石泉县| 鄂伦春自治旗| 大城县| 濉溪县| 依安县| 蒙城县| 阿拉善盟| 苍南县| 青田县| 扎鲁特旗| 洛隆县| 台江县| 饶平县| 邢台市| 旬邑县| 建德市| 和硕县| 金乡县| 北票市| 纳雍县| 海盐县| 登封市| 湛江市| 共和县| 玉门市| 房山区|