asp.net內置對象

asp.net經過內置對象來維護有關當前應用程序,每一個用戶會話,當前http請求,請求的web窗體頁等的信息,html

主要用於與用戶的交互。這些內置對象包括:Request對象,Response對象,Context對象,Application對象,web

Session對象,Server對象和Trace對象。瀏覽器

1.Request對象服務器

Request對象表明由客戶端程序發往服務器的http請求報文,即由瀏覽器發送到服務器的全部信息,如Cookie數據,asp.net

客戶端瀏覽器類型和功能,MIME內容類型,客戶端用GET或POST方法傳遞的查詢字符串等。asp.net容許把這些編碼

數據做爲Request對象和集合來處理,可使用以下形式訪問集合中的任意成員:Request.Collection["集合中的項"]。.net

a.Querystring集合orm

當html表單使用GET方法向asp.net文件傳遞數據時,它經過把數據附加在URL字符串後發送到服務器的指定文件中。htm

在asp.net中,能夠經過檢索Request對象的QueryString集合獲取這些數據,而不用在HTTP GET中分析附加在URL後的字符串。對象

使用:Request.QueryString["鍵"]。

b.Form集合

當使用POST方法將HTML表單提交給服務器時,表單元素的值可使用Request對象的Form集合來檢索,與GET方法相比,

POST方法能夠將大量數據發送到服務器端。

使用:Request.Form["鍵"]。

2.Response對象

要想把服務器生成的結果動態的嵌入到web頁中,便可以使用服務器控件,也可使用Request對象的Write方法。

也就是說,Response對象與Request對象恰好相反,它負責把服務器生成的數據返回給客戶端,包括直接發送信息

給瀏覽器,重定向瀏覽器到另外一個URL或設置Cookie的值。asp.net中,可使用Response.Write("data")或<%=data%>

兩種方法返回數據。

Write方法:是一個最經常使用的方法,它將指定的字符串輸出到客戶端瀏覽器,能夠輸出普通字符串和HTML標記。

Redict方法:使瀏覽器重定向到另外的URL上,這也是一個常用的方法。經過該方法可使服務器對不一樣客戶

的請求提供不一樣的頁面。

Cookie:是發給客戶的一個標識,能夠用它來存儲有關特定客戶端,會話或應用程序的信息,Cookie保存在客戶機的硬盤上

或內存中。當瀏覽器訪問同一網頁時,會將Cookie中的信息連同請求信息一塊兒發送給服務器。服務器經過提取Cookie的值,

就能夠爲用戶提供個性化服務了。Cookie在System.Net命名空間中被實現爲一個類,它包含許多屬性。

屬性 說明
Domain 獲取或設置Cookie的一個域(表明該Cookie只呈現給該域)
Expires 獲取或設置Cookie的過時日期
Name 獲取或設置Cookie的名稱
Path 獲取或設置此Cookie適用的URI,若是未指定此屬性,則會將此Cookie發送到源服務器上的全部頁
Value 獲取或設置Cookie的值

 

3.Server對象

Server對象能夠訪問服務器上的方法和屬性。例如,在服務器上建立和啓動控件實例,對HTML和URL進行編碼,

把相對或虛擬路徑映射到服務器上相應的物理目錄上等。

MapPath方法:用於返回與web服務器上的指定虛擬路徑相對應的物理路徑。

Transfer方法:用於把當前頁中止下來,而後按照給定的URL執行另一個web頁。

能夠利用它完成與Response對象的Redict方法相似的功能。

4.Application對象

一個web站點可能包含不少asp.net應用對象,而每一個asp.net應用程序都是駐留在web站點特定目錄下的全部文件,

子目錄,頁,處理程序,模塊和代碼的總和,這個特定目錄就是web應用程序的根目錄。在根目錄下的全部文件和

目錄就組成了web應用程序。在asp.net中,使用Application對象表明web應用程序的運行實例,它從請求該web應用

程序的第一個頁開始,到該web站點關閉時結束。所以,保存在Application中的數據是全局有效的,它特別適宜於在

該web應用程序的全部用戶中共享信息,或在該web應用程序的不一樣用戶之間傳遞信息。Application裏面存放的應該

是訪問較多,修改較少而且是全局至少大部分功能會使用的數據。

使用:Application["鍵"]=值             或Application.Add(「鍵」,"值")  

Remove()方法表示移除某個數據。RemoveAll()和clear()表示清除全部數據。

爲了保證對Application對象中的變量訪問同步,在使用Application變量時使用Lock和UnLock方法。

Application對象的Lock方法能夠鎖定Application變量,以防止在使用該Application變量時,其餘會話改變它的值。

UnLock方法能夠解除對Application變量的鎖定,以便其餘會話可使用該Application變量。

Lock和UnLock方法應成對使用。

Application對象還有可用於在asp.net應用程序啓動和中止時觸發的事件。當web服務器啓動並容許對asp.net應用程序

所包含的文件進行請求時觸發Application_Start事件,當asp.net應用程序終止時,觸發Application_End事件,這些事件

處理過程存在於Global.asax文件中,該文件位於asp.net應用程序的根目錄中。

當一個新用戶訪問站點時,Global.asax文件中的Session_Start事件將會引起,可在此使所有用戶數和用戶數和在線用戶增一。

當用戶於斷開後會引起會引起Session_End事件,能夠在此使在線用戶減一。

5.Session對象

HTTP協議是一個無狀態協議,每次用戶對web服務器的請求都會被HTTP處理爲一次惟一的用戶會話,它不會保存之前用戶

請求的任何信息。爲了解決這個問題,asp.net提供了一種簡單有效的方法,就是利用一個稱爲Session的對象來存儲和處理

屬於用戶的信息。

Session對象用來存儲和處理屬於用戶的信息。

使用:Session["鍵"]=值   

Remove()方法刪除Session對象的某個變量,RemoveAll()和Clear()方法將刪除Session的全部數據。

TimeOut屬性用來設置Session的過時時間,以分鐘爲單位。

Abandon方法:取消當前會話。一旦調用了Abandon方法,當前會話就再也不有效,全部存儲在Session對象中的數據就會被刪除。

Session_Start事件:在建立新會話時發生。該事件是設置會話期變量的最佳時機,由於在訪問任何頁以前都會先設置它們。

Session_OnEnd事件:在會話超時或調用Session對象的Abandon方法後發生,即會話結束時發生。

 

能夠

相關文章
相關標籤/搜索