真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的

這篇文章主要介紹“ASP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的”,在日常操作中,相信很多人在A(yíng)SP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”ASP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供仁壽網(wǎng)站建設(shè)、仁壽做網(wǎng)站、仁壽網(wǎng)站設(shè)計(jì)、仁壽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、仁壽企業(yè)網(wǎng)站模板建站服務(wù),10多年仁壽做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

HTTP處理程序中的對(duì)話(huà)狀態(tài)

維護(hù)對(duì)話(huà)狀態(tài)是Web應(yīng)用程序執(zhí)行的最通常的事務(wù)。HTTP處理程序也需要訪(fǎng)問(wèn)這些對(duì)話(huà)狀態(tài)。但是HTTP處理程序的默認(rèn)設(shè)置是沒(méi)有激活對(duì)話(huà)狀態(tài)的。為了讀取和/或?qū)懭霠顟B(tài)數(shù)據(jù),需要HTTP處理程序?qū)崿F(xiàn)下面的接口之一:

· IRequiresSessionState

· IReadOnlySessionState.

當(dāng)HTTP處理程序需要讀寫(xiě)對(duì)話(huà)數(shù)據(jù)的時(shí)候,它必須實(shí)現(xiàn)IRequiresSessionState接口。如果它只讀取對(duì)話(huà)數(shù)據(jù),實(shí)現(xiàn)IReadOnlySessionState接口就可以了。

這兩個(gè)接口都是標(biāo)記接口,并沒(méi)有包含任何方法。因此,如果你希望激活NewHandler處理程序的對(duì)話(huà)狀態(tài),要像下面的代碼一樣聲明NewHandler類(lèi):

public class NewHandler : IHttpHandler, IRequiresSessionState

HTTP模塊

HTTP模塊是實(shí)現(xiàn)了System.Web.IhttpModule接口的.NET組件。這些組件通過(guò)在某些事件中注冊(cè)自身,把自己插入ASP.NET請(qǐng)求處理管道。當(dāng)這些事件發(fā)生的時(shí)候,ASP.NET調(diào)用對(duì)請(qǐng)求有興趣的HTTP模塊,這樣該模塊就能處理請(qǐng)求了。

HTTP模塊實(shí)現(xiàn)了IhttpModule接口的下面一些方法:

方法名稱(chēng)描述
Init這個(gè)方法允許HTTP模塊向HttpApplication 對(duì)象中的事件注冊(cè)自己的事件處理程序。
Dispose這個(gè)方法給予HTTP模塊在對(duì)象被垃圾收集之前執(zhí)行清理的機(jī)會(huì)。

HTTP模塊可以向System.Web.HttpApplication對(duì)象暴露的下面一些方法注冊(cè):

事件名稱(chēng)描述
AcquireRequestState當(dāng)ASP.NET運(yùn)行時(shí)準(zhǔn)備好接收當(dāng)前HTTP請(qǐng)求的對(duì)話(huà)狀態(tài)的時(shí)候引發(fā)這個(gè)事件。
AuthenticateRequest當(dāng)ASP.NET 運(yùn)行時(shí)準(zhǔn)備驗(yàn)證用戶(hù)身份的時(shí)候引發(fā)這個(gè)事件。
AuthorizeRequest當(dāng)ASP.NET運(yùn)行時(shí)準(zhǔn)備授權(quán)用戶(hù)訪(fǎng)問(wèn)資源的時(shí)候引發(fā)這個(gè)事件。
BeginRequest當(dāng)ASP.NET運(yùn)行時(shí)接收到新的HTTP請(qǐng)求的時(shí)候引發(fā)這個(gè)事件。
Disposed當(dāng)ASP.NET完成HTTP請(qǐng)求的處理過(guò)程時(shí)引發(fā)這個(gè)事件。
EndRequest把響應(yīng)內(nèi)容發(fā)送到客戶(hù)端之前引發(fā)這個(gè)事件。
Error在處理HTTP請(qǐng)求的過(guò)程中出現(xiàn)未處理異常的時(shí)候引發(fā)這個(gè)事件。
PostRequestHandlerExecute在HTTP處理程序結(jié)束執(zhí)行的時(shí)候引發(fā)這個(gè)事件。
PreRequestHandlerExecute在A(yíng)SP.NET開(kāi)始執(zhí)行HTTP請(qǐng)求的處理程序之前引發(fā)這個(gè)事件。在這個(gè)事件之后,ASP.NET 把該請(qǐng)求轉(zhuǎn)發(fā)給適當(dāng)?shù)腍TTP處理程序。
PreSendRequestContent在A(yíng)SP.NET把響應(yīng)內(nèi)容發(fā)送到客戶(hù)端之前引發(fā)這個(gè)事件。這個(gè)事件允許我們?cè)趦?nèi)容到達(dá)客戶(hù)端之前改變響應(yīng)內(nèi)容。我們可以使用這個(gè)事件給頁(yè)面輸出添加用于所有頁(yè)面的內(nèi)容。例如通用菜單、頭信息或腳信息。
PreSendRequestHeaders在A(yíng)SP.NET把HTTP響應(yīng)頭信息發(fā)送給客戶(hù)端之前引發(fā)這個(gè)事件。在頭信息到達(dá)客戶(hù)端之前,這個(gè)事件允許我們改變它的內(nèi)容。我們可以使用這個(gè)事件在頭信息中添加cookie和自定義數(shù)據(jù)。
ReleaseRequestState當(dāng)ASP.NET結(jié)束所搜有的請(qǐng)求處理程序執(zhí)行的時(shí)候引發(fā)這個(gè)事件。
ResolveRequestCache我們引發(fā)這個(gè)事件來(lái)決定是否可以使用從輸出緩沖返回的內(nèi)容來(lái)結(jié)束請(qǐng)求。這依賴(lài)于Web應(yīng)用程序的輸出緩沖時(shí)怎樣設(shè)置的。
UpdateRequestCache當(dāng)ASP.NET完成了當(dāng)前的HTTP請(qǐng)求的處理,并且輸出內(nèi)容已經(jīng)準(zhǔn)備好添加給輸出緩沖的時(shí)候,引發(fā)這個(gè)事件。這依賴(lài)于Web應(yīng)用程序的輸出緩沖是如何設(shè)置的。

除了這些事件之外,我們還可以使用四個(gè)事件。我們可以通過(guò)實(shí)現(xiàn)Web應(yīng)用程序的global.asax文件中一些方法來(lái)使用這些事件。

這些事件是:

· Application_OnStart

當(dāng)***個(gè)請(qǐng)求到達(dá)Web應(yīng)用程序的時(shí)候引發(fā)這個(gè)事件。

· Application_OnEnd

準(zhǔn)備終止應(yīng)用程序之前引發(fā)這個(gè)事件。

· Session_OnStart

用戶(hù)對(duì)話(huà)的***個(gè)請(qǐng)求引發(fā)這個(gè)事件。

· Session_OnEnd

放棄對(duì)話(huà)或者對(duì)話(huà)超期的時(shí)候引發(fā)這個(gè)事件。

到此,關(guān)于“ASP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


網(wǎng)站標(biāo)題:ASP.NET的HTTP模塊和處理程序?qū)υ?huà)狀態(tài)是怎樣的
網(wǎng)站URL:http://weahome.cn/article/ipsoge.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部