ASP.NET內建物件

iDotNetSpace發表於2009-05-06
一、Response物件
Response物件是HttpResponse類的一個例項。該類主要是封裝來自ASP.NET操作的HTTP響應資訊。
1.Response物件的屬性
   ① BufferOutput
   說明:獲取或設定一個值,該值指示是否緩衝輸出,並在完成處理整個頁之後將其傳送
   屬性值:如果緩衝了到客戶端的輸出,則為true;否則為false。預設為true
   ② Cache
   說明:獲取Web頁的快取策略(過期時間、保密性、變化子句)
   屬性值:包含有關當前響應的快取策略資訊的HttpCachePolicy物件
   ③ Charset
   說明:獲取或設定輸出流的HTTP字符集
   屬性值:輸出流的HTTP字符集
   ④ IsClientConnected
   說明:獲取一個值,通過該值指示客戶端是否仍連線在伺服器上
   屬性值:如果客戶端當前仍在連線,則為true;否則為false
2.Response物件的方法
   Response物件可以輸出資訊到客戶端,包括直接傳送資訊給瀏覽器、重定向瀏覽器到另一個URL或設定cookie的值。ASP.NET中引用物件方法的語法是“物件名.方法名”。“方法”就是嵌入到物件定義中的程式程式碼,它定義物件怎樣去處理資訊。使用嵌入的方法,物件便知道如何去執行任務,而不用提供額外的指令。
   ① Write
   說明:將指定的字串或表示式的結果寫到當前的HTTP輸出
   ② End
   說明:停止頁面的執行並得到相應結果
   ③ Clear
   說明:用來在不將快取中的內容輸出的前提下,清空當前頁的快取,僅當使用了快取輸出時,才可以利用Clear方法
   ④ Flush
   說明:將快取中的內容立即顯示出來。該方法有一點和Clear方法一樣,它在指令碼前面沒有將Buffer屬性設定為True時會出錯。和End方法不同的是,該方法呼叫後,該頁面可繼續執行
   ⑤ Redirect
   說明:使瀏覽器立即重定向到程式指定的URL

二、Request物件
1.Request物件的屬性
   ① QueryString
   說明:獲取 HTTP 查詢字串變數集合
   屬性值:NameValueCollection物件
   ② Path
   說明:獲取當前請求的虛擬路徑
   屬性值:當前請求的虛擬路徑
   ③ UserHostAddress
   說明:獲取遠端客戶端的 IP 主機地址
   屬性值:遠端客戶端的IP地址
   ④ Browser
   說明:獲取有關正在請求的客戶端的瀏覽器功能的資訊
   屬性值:HttpBrowserCapabilities物件
2.Request物件的方法
   ① BinaryRead
   說明:執行對當前輸入流進行指定位元組數的二進位制讀取
   ②MapPath
   說明:為當前請求將請求的URL中的虛擬路徑對映到伺服器上的物理路徑

三、Application物件
   Application物件是HttpApplicationState類的一個例項。
HttpApplicationState類的單個例項,將在客戶端第一次從某個特定的ASP.NET應用程式虛擬目錄中請求任何URL資源時建立。對於Web伺服器上的每個ASP.NET應用程式,都要建立一個單獨的例項。然後通過內部Application物件公開對每個例項的引用。Application物件使給定應用程式的所有使用者之間共享資訊,並且在伺服器執行期間持久地儲存資料。因為多個使用者可以共享一個Application物件,所以必須要有Lock和Unlock方法,以確保多個使用者無法同時改變某一屬性。Application物件成員的生命週期止於關閉IIS或使用Clear方法清除。
1.Application物件的屬性
   ① AllKeys
   說明:獲取HttpApplicationState集合中的訪問鍵
   屬性值:HttpApplicationState物件名的字串陣列
   ② Count
   說明:獲取HttpApplicationState集合中的物件數
   屬性值:集合中的Item物件數。預設為0
2.Application物件的方法
   ① Add
   說明:新增一個新的Application物件變數
   ② Clear
   說明:清除全部的Application物件變數
   ③ Get
   說明:使用索引關鍵字或變數名稱得到變數值
   ④ GetKey
   說明:使用索引關鍵字來獲取變數名稱
   ⑤ Lock
   說明:鎖定全部的Application變數
   ⑥ Remove/RemoveAll
   說明:使用變數名稱刪除一個Application物件/刪除全部的Application物件變數
   ⑦ Set
   說明:使用變數名更新一個Application物件變數的內容
   ⑧ UnLock
   說明:解除鎖定的Application變數

四、Session物件
   Session物件是HttpSessionState的一個例項。該類為當前使用者會話提供資訊,還提供對可用於儲存資訊的會話範圍的快取的訪問,以及控制如何管理會話的方法。
   Session的出現填補了HTTP協議的侷限。HTTP協議工作過程是,使用者發出請求,伺服器端做出響應,這種使用者端和伺服器端之間的聯絡都是離散的,非連續的。在HTTP協議中沒有什麼能夠允許伺服器端來跟蹤使用者請求的。在伺服器端完成響應使用者的請求後,伺服器端不能持續與該瀏覽器保持連線。從網站的觀點上看,每一個新的請求都是單獨存在的,因此,當使用者在多個主頁間轉換時,就根本無法知道他的身份。
   使用Session物件儲存特定使用者會話所需的資訊。這樣,當使用者在應用程式的Web頁之間跳轉時,儲存在Session物件中的變數將不會丟失,而是在整個使用者會話中一直存在下去。
   當使用者請求來自應用程式的Web頁時,如果該使用者還沒有會話,則Web伺服器將自動建立一個Session物件。當會話過期或被放棄後,伺服器將中止該會話。
   當使用者第一次請求給定的應用程式中的aspx檔案時,ASP.NET將生成一個SessionID。SessionID是由一個複雜演算法生成的號碼,它唯一標識每個使用者會話。在新會話開始時,伺服器將Session ID作為一個cookie儲存在使用者的Web瀏覽器中。
   在將SessionID cookie儲存於使用者的瀏覽器之後,即使使用者請求了另一個.aspx檔案,或請求了執行在另一個應用程式中的.aspx檔案,ASP.NET仍會重用該cookie跟蹤會話。與此相似,如果使用者故意放棄會話或讓會話超時,然後再請求另一個.aspx檔案,那麼ASP.NET將以同一個cookie開始新的會話。只有當伺服器管理員重新啟動伺服器,或使用者重新啟動Web瀏覽器時,此時儲存在記憶體中的SessionID設定才被清除,使用者將會獲得新的SessionID   cookie。
   通過重用SessionID cookie,Web應用程式將傳送給使用者瀏覽器的cookie數量降為最低。另外,如果使用者決定該Web應用程式不需要會話管理,就可以不讓Web應用程式跟蹤會話和向使用者傳送SessionID。
   Session物件最常見的一個用法就是儲存使用者的首選項。例如,如果使用者指明不喜歡檢視圖形,另外其還經常被用在鑑別客戶身份的程式中。要注意的是,會話狀態僅在支援cookie的瀏覽器中保留,如果客戶關閉了cookies選項,Session也就不能發揮作用了。
   ASP.NET的Sessions非常好用,能夠利用Session物件來對Session全面控制,如果需要在一個使用者的Session中儲存資訊,只需要簡單地直接呼叫Session物件就可以了,下面就是個例子:
Session["Myname"]=Response.form("Username");
Session["Mycompany"]=Response.form("Usercompany");
   應注意的是,Session物件是與特定使用者相聯絡的。針對某一個使用者賦值的Session物件是和其他使用者的Session物件完全獨立的,不會相互影響。換句話說,這裡面針對每一個使用者儲存的資訊是每一個使用者自己獨享的,不會產生共享情況。
   很明顯,對於不同的使用者,Session物件的Myname變數和Mycompany變數各自是不同的,當每個人在網站的不同主頁間瀏覽時,這種針對個人的變數會一直保留,這樣作為身份認證是十分有效的。
1.Session物件的屬性
   ① Count
   說明:獲取會話狀態集合中Session物件的個數
   屬性值:Session物件的個數
   ② TimeOut
   說明:獲取或設定在會話狀態提供程式終止會話之前各請求之間所允許的超時期限
   屬性值:超時期限(以分鐘為單位)
   ③ SessionID
   說明:獲取用於標識會話的唯一會話ID
   屬性值:會話ID
2.Session物件的方法
   ① Add
   說明:新增一個Session物件
   ② Clear
   說明:清除會話狀態中的所有值
   ③ Remove
   說明:刪除會話狀態集合中的項
   ④ RemoveAll
   說明:清除所有會話狀態值

三、Server物件
   Server物件是HttpServerUtility的一個例項。該物件提供對伺服器上的方法和屬性的訪問。
1.Server物件的屬性
   ① MachineName
   說明:獲取伺服器的計算機名稱
   屬性值:本地計算機的名稱
   ② ScriptTimeout
   說明:獲取和設定請求超時
   屬性值:請求的超時設定(以秒計)
2.Server物件的方法
   ① CreateObject
   說明:建立COM 物件的一個伺服器例項
   ② CreateObjectFromClsid
   說明:建立COM 物件的伺服器例項,該物件由物件的類識別符號(CLSID)標識
   ③ Execute
   說明:使用另一頁執行當前請求
   ④ Transfer
   說明:終止當前頁的執行,併為當前請求開始執行新頁
   ⑤ HtmlDecode
   說明:對已被編碼以消除無效HTML字元的字串進行解碼
   ⑥ HtmlEncode
   說明:對要在瀏覽器中顯示的字串進行編碼
   ⑦ MapPath
   說明:返回與Web伺服器上的指定虛擬路徑相對應的物理檔案路徑
   ⑧ UrlDecode
   說明:對字串進行解碼,該字串為了進行HTTP傳輸而進行編碼並在URL中傳送到伺服器
   ⑨ UrlEncode
   說明:編碼字串,以便通過URL從Web伺服器到客戶端進行可靠的HTTP傳輸

六、Cookie物件
   Cookie 是一小段文字資訊,伴隨著使用者請求和頁面在Web伺服器和瀏覽器之間傳遞。使用者每次訪問站點時,Web應用程式都可以讀取Cookie包含的資訊。
   Cookie跟Session、Application類似,也是用來儲存相關資訊,但Cookie和其他物件的最大不同是,Cookie將資訊儲存在客戶端,而Session和Application是儲存在伺服器端。也就是說,無論何時使用者連線到伺服器,Web站點都可以訪問cookie資訊。這樣,既方便使用者的使用,也方便了網站對使用者的管理。
   ASP.NET包含兩個內部Cookie集合。通過HttpRequest的Cookies集合訪問的集合包含通過Cookie標頭從客戶端傳送到伺服器的Cookie。通過HttpResponse的Cookies集合訪問的集合包含一些新Cookie,這些Cookie在伺服器上建立並以Set-Cookie標頭的形式傳輸到客戶端。
1.Cookie物件的屬性
   ① Name
   說明:獲取或設定Cookie的名稱
   屬性值:Cookie的名稱
   ② Value
   說明:獲取或設定Cookie的Value
   屬性值:Cookie的Value
   ③ Expires
   說明:獲取或設定Cookie的過期日期和時間
   屬性值:作為DateTime例項的Cookie過期日期和時間
   ④ Version
   說明:獲取或設定此Cookie符合的HTTP狀態維護版本
   屬性值:此Cookie符合的HTTP狀態維護版本
2.Cookie物件的方法
   ① Add
   說明:新增一個Cookie變數
   ② Clear
   說明:清除Cookie集合內的變數
   ③ Get
   說明:通過變數名或索引得到Cookie的變數值
   ④ GetKey
   說明:以索引值來獲取Cookie的變數名稱
   ⑤ Remove
   說明:通過Cookie變數名來刪除Cookie變數

七、Cache物件
   對於每個應用程式域均建立該類的一個例項,並且只要對應的應用程式域保持活動,該例項便保持有效。有關此類例項的資訊通過HttpContext物件的Cache屬性或Page物件的Cache屬性來提供。
1.Cache物件的屬性
   ① Count
   說明:獲取儲存在快取中的項數。當監視應用程式效能或使用ASP.NET跟蹤功能時,此屬性可能非常有用
   屬性值:儲存在快取中的項數
   ② Item
   說明:獲取或設定指定鍵處的快取項
   屬性值:表示快取項的鍵的String物件
2.Cache物件的方法
   ① Add
   說明:將指定項新增到 Cache 物件,該物件具有依賴項、過期和優先順序策略,以及一個委託(可用於在從Cache 移除插入項時通知應用程式)
   ② Get
   說明:從 Cache 物件檢索指定項
   ③ Remove
   說明:從應用程式的 Cache 物件移除指定項
   ④ Insert
   說明:向Cache物件插入項。使用此方法的某一版本改寫具有相同key引數的現有Cache項

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-594311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章