頁面初始化:頁面及其控件被初始化,頁面确定這是一個新的請求還是一個回傳請求。
載入:如果目前頁面是回傳請求,則該頁面将從視圖狀态和控件狀态中加載控件的屬性,引發load事件。
回送事件處理:如果請求是回傳請求,任何控件的回發事件處理過程将被調用。
呈現:結果通過http響應發送回客戶機。
解除安裝:對頁面使用過的資源進行清除,調用unload方法。
在自己敲過的一些執行個體來看,最常用的還有一個ispostback屬性。這個屬性是用來識别page對象是否處于一個回送的狀态下,也就是弄清楚請求頁面是第一個執行個體,還是請求回送的原來的頁面。
(二)request對象
當使用者在用戶端使用web浏覽器向web應用程式送出請求時,就會将用戶端的資訊發送到web伺服器,用戶端的請求資訊就被封裝為request對象。
request對象的常用屬性:request.useragent:用來擷取用戶端浏覽器版本。
request.userhostaddress:擷取用戶端ip位址。
request.applicaionpath:擷取目前網站的相對路徑。
request.physicalapplicationpath:擷取目前網站的絕對路徑。
(三)response對象
response對象是封裝了web伺服器對用戶端請求的響應,它用來操作與http協定相關的資訊,并将結果傳回給請求者。
兩個常用方法:write():輸出資訊到浏覽器
redirect():位址轉向,将浏覽器引導到新的web頁或網站。
(四)server對象
它包含一些與伺服器相關的資訊。使用它可以獲得有關最新的錯誤資訊、對html文本進行編碼和解碼、通路和讀寫伺服器端的檔案等功能。
常用方法和屬性:server.machinename:擷取伺服器名稱
server.htmlencode():将字元串進行html編碼。
server.transfer();終止目前頁執行,開始執行新頁。與response.redirect()相似。
server.mappath();傳回實體路徑。
(五)cookie對象
這個對象在我們平時上網,浏覽器中也見到過。通常都有清理cookie記錄這一選項,可想而知,這個對象便是用來幫助我們儲存一些浏覽記錄的,而且這些資訊都是儲存在我們的客戶機上的。
使用cookie有以下幾個優點:無配置到期規則。cookie可以在浏覽器會話結束時到期,或者可以在用戶端計算機上無限期存在,取決于用戶端的到期規則。
不需要任何伺服器資源。cookie存儲在用戶端并在發送後由伺服器讀取。
簡單性。cookie是一種基于文本的輕量結構。
資料持久性。cookie通常是用戶端上持續時間最長的資料保留形式。
(六)session對象
它可以為每個使用者的會話存儲資訊。session對象中的資訊隻能被使用者自己使用,而不能被網站的其他使用者通路。是以,利用session對象可以在不同的頁面間共享資料,但是不能在不同的使用者間共享資料,它常用來對使用者的登入情況做判斷或存儲。
注意要點:session對象存儲的值,時間到了就會消失。可用timeout屬性設定它的生存時間。
網頁中可以有無數多個session對象,每個session都有自己獨立的sessionid,是以互相間不影響
當使用者登入時,系統會自動為其配置設定一個sessionid,這個id随機配置設定,不會重複,用來區分不同使用者。
可在網站的配置檔案web.config裡設定過期時間。<sessionstate timeout="30"/>
session.abandon();登出或登出就需要用到此方法。
(七)application對象
application對象也是用來存儲資訊的,與session對象不同的是,它存儲的資訊可以在各個使用者間共享,application存儲的值,一直不會消失,直到網站關閉。它主要用來統計線上人數,聊天室發言,網站通路量等。主要有lock()和unlock()方法。
具有的特點:對象中的資料可以在程式内部被所有使用者所共享。
擁有自己的事件,可以在需要的時候被觸發以執行相應的程式代碼。
一個應用程式中可以存在多個application對象,互不影響。
在伺服器運作期間能夠持久地儲存資料。
使用lock和unlock方法,可以保證多個使用者無法同時改變它的屬性。
asp.net的七個基本對象看了很多遍其它書上的資料,但每次看完後,都沒有及時做總結,是以也就感覺很混亂,在編寫程式的時候經常見但又不知道是什麼,通過這一次的總結,把這七個基本對象完整地梳理了一遍,也總算是清楚了很多。在以後需要用到的時候,至少想的起來什麼地方該用何種對象,用此對象的意義何在。