asp.net内置对象
asp.net通過內置對象來維護有關當前應用程序,每個用戶會話,當前http請求,請求的web窗體頁等的信息,
主要用于與用戶的交互。這些內置對象包括:Request對象,Response對象,Context對象,Application對象,
Session對象,Server對象和Trace對象。
1.Request對象
Request對象代表由客戶端程序發往服務器的http請求報文,即由瀏覽器發送到服務器的所有信息,如Cookie數據,
客戶端瀏覽器類型和功能,MIME內容類型,客戶端用GET或POST方法傳遞的查詢字符串等。asp.net允許把這些
數據作為Request對象和集合來處理,可以使用如下形式訪問集合中的任意成員:Request.Collection["集合中的項"]。
a.Querystring集合
當html表單使用GET方法向asp.net文件傳遞數據時,它通過把數據附加在URL字符串后發送到服務器的指定文件中。
在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方法后發生,即會話結束時發生。
?
可以
?
轉載于:https://www.cnblogs.com/xiaoai123/p/8231237.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的asp.net内置对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scala 中下划线的用法
- 下一篇: 03018_监听器Listener