国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - ASP.NET服務(wù)器控件的生命周期分析

ASP.NET服務(wù)器控件的生命周期分析

2019-12-12 12:13shichen2014 ASP.NET教程

這篇文章主要介紹了ASP.NET服務(wù)器控件的生命周期分析,較為詳盡的講述了asp.net服務(wù)器控件的運(yùn)行原理與過程,有助于深入了解asp.net程序的運(yùn)行原理,需要的朋友可以參考下

本文實(shí)例分析了ASP.NET服務(wù)器控件生命周期。分享給大家供大家參考。具體如下:

(1)初始化----在此階段中,主要完成兩項工作:一、初始化在傳入Web請求生命周期內(nèi)所需的設(shè)置;二、跟蹤視圖狀態(tài)。首先,頁面框架通過默認(rèn)方式引發(fā)Init事件,并調(diào)用OnInit()方法,控件開發(fā)人員可以重寫該方法為控件提供初始化邏輯。此后,頁面框架將調(diào)用TrackViewState方法來跟蹤視圖狀態(tài)。需要注意的是:多數(shù)情況下,Control基類提供的TrackViewState方法實(shí)現(xiàn)已經(jīng)足夠了。只有在控件定義了復(fù)雜屬性時,開發(fā)人員才可能需要重寫TrackViewState方法。

(2)加載視圖狀態(tài)----此階段的主要任務(wù)是檢查服務(wù)器控件是否存在以及是否需要將其狀態(tài)恢復(fù)到它在處理之前的請求結(jié)束的狀態(tài)。因此該過程發(fā)生在頁面回傳過程中,而不是初始化請求過程。在此階段,頁面框架將自動恢復(fù)ViewState字典。如果服務(wù)器控件不維持其狀態(tài),或者它有能力通過默認(rèn)方式保存其所有狀態(tài)而使用ViewState字典,那么開發(fā)人員則不必實(shí)現(xiàn)任何邏輯。針對那些無法在ViewState字典中存儲的數(shù)據(jù)類型或者需要自定義狀態(tài)管理的情況,開發(fā)人員可以通過重寫LoadViewState方法來自定義狀態(tài)的恢復(fù)和管理。

(3)處理回發(fā)數(shù)據(jù)----若要使控件能夠檢查客戶端發(fā)回的窗體數(shù)據(jù),那么必須實(shí)現(xiàn)System.Web.UI.IPostBackDataHandler接口的 LoadPostData()方法。因此只有處理回發(fā)數(shù)據(jù)的控件參與此階段。

(4)加載----至此階段開始,控件樹中的服務(wù)器控件已創(chuàng)建并初始化、狀態(tài)已還原并且窗體控件反映了客戶端的數(shù)據(jù)。此時,開發(fā)人員可以通過重寫OnLoad()方法來實(shí)現(xiàn)每個請求共同的邏輯。

(5)發(fā)送回發(fā)更改通知----在此階段,服務(wù)器控件通過引發(fā)事件作為一種信號,表明由于回發(fā)而發(fā)生的控件狀態(tài)變化(因此該階段僅用于回發(fā)過程)。為了建立這種信號,開發(fā)人員必須再次使用System.Web.UI.IPostBackDataHandler接口,并實(shí)現(xiàn)另一方法-RaisePostBackChangedEvent()。其判斷過程為:如果控件狀態(tài)因回發(fā)而更改,則LoadPostData()返回true;否則返回false。頁面框架跟蹤所有返回true的控件并在這些控件上調(diào)用RaisePostDataChangedEvent()。

(6)處理回發(fā)事件----該階段處理引起回發(fā)的客戶端事件。為了便于將客戶端事件映射到服務(wù)器端事件上進(jìn)行處理,開發(fā)人員在此階段可以通過實(shí)現(xiàn)System.Web.UI.IPostBackEventHandler接口的RaisePostBackEvent()方法來實(shí)現(xiàn)該邏輯。由此途徑,服務(wù)器控件將成功捕獲回發(fā)的客戶端事件進(jìn)行服務(wù)器端的相應(yīng)處理。

(7)預(yù)呈現(xiàn)----該階段完成在生成控件之前所需要的任何工作。通常情況下是通過重寫OnPreRender()方法完成該工作。需要注意的是:在該階段,可以保存在預(yù)呈現(xiàn)階段對控件狀態(tài)所做的更改,而在呈現(xiàn)階段進(jìn)行的更改則會丟失。

(8)保存狀態(tài)----如果服務(wù)器控件不維持狀態(tài),或者它有能力通過默認(rèn)方式保存其所有狀態(tài)而使用ViewState字典,那么開發(fā)人員不必在該階段實(shí)現(xiàn)任何邏輯。因為這個保存狀態(tài)的過程是自動的。如果服務(wù)器控件需要自定義狀態(tài)保存,或者控件無法在ViewState字典中存儲特殊的數(shù)據(jù)類型,則需要通過重寫SaveViewState()方法來實(shí)現(xiàn)狀態(tài)保存。

(9)呈現(xiàn)----表示向HTTP輸出流中寫入標(biāo)記文本的過程。開發(fā)人員通過重寫Render()方法使其在輸出流上自定義標(biāo)記文本。

(10)處置----在此階段中,通過重寫Dispose ()方法完成釋放對昂貴資源的引用,如數(shù)據(jù)庫鏈接等。

(11)卸載----完成的工作與"處置"階段相同,但是,開發(fā)人員通常在Dispose()方法中執(zhí)行清除,而不處理Unload事件。

希望本文所述對大家的asp.net程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品久久久久久久久久 | 日韩精品三区 | 一级a性色生活片毛片 | 可以免费看黄的网站 | 秋霞成人 | 伦一区二区三区中文字幕v亚洲 | 国产99久久精品 | 91在线免费网站 | av中文字幕第一页 | 成人午夜精品久久久久久久蜜臀 | 国产精品一卡二卡三卡 | 久草av在线播放 | 亚洲一区二区精品视频 | 最近高清无吗免费看 | 日韩国产在线观看 | 精品久久99| 97久久精品午夜一区二区 | 中文字幕三区 | h成人在线 | 黄色a一级| 亚洲天堂中文字幕 | 亚洲国产精品视频 | 综合久久综合 | 中文字幕在线精品 | 国产精品香蕉 | 黄视频免费 | 少妇一级片免费看 | 精品久久久久久久 | 私人毛片免费高清视频 | 国产高清精品在线 | 亚洲第一av | 午夜私人影院在线观看 | 欧美日韩久久精品 | 日本精a在线观看 | 大白屁股一区二区视频 | 91在线精品一区二区三区 | 日韩精品一区二区在线观看视频 | 亚洲二区视频 | 日韩在线一 | 在线观看一区二区视频 | 色综合99 |