天天看點

【ASP.NET】基本對象

頁面初始化:頁面及其控件被初始化,頁面确定這是一個新的請求還是一個回傳請求。

載入:如果目前頁面是回傳請求,則該頁面将從視圖狀态和控件狀态中加載控件的屬性,引發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的七個基本對象看了很多遍其它書上的資料,但每次看完後,都沒有及時做總結,是以也就感覺很混亂,在編寫程式的時候經常見但又不知道是什麼,通過這一次的總結,把這七個基本對象完整地梳理了一遍,也總算是清楚了很多。在以後需要用到的時候,至少想的起來什麼地方該用何種對象,用此對象的意義何在。