這裏主要介紹[request],[response],[server],[session],[cookie],[application]
準確的說:asp.net並沒有所謂的內置對象,jsp中確實把[request],[response],[server]......,這些作爲內置對象,這裏只不過借用說法而已。
那麼爲什麼說這些是內置對象呢,實際上就是在asp.net中使用它們的時候,無需實例[new]這些對象。
注意:在asp.net中所有的.aspx頁面都繼承[System.Web.UI.Page]這個類(直接繼承或者間接繼承)。而上面提到的對象多是這個類中的屬性。
在web中,處於中心的web服務器,用來處理客戶端[http://...]協議請求([http]協議是指文本傳輸協議),由於[http]是一種無狀態的請求協議,
它不會記得上一次水請求了它,因此不會主動詢問客戶端,所以只有客戶端主動訪問之後,服務器纔會響應。
Request:封裝了客戶端請求信息。Request的常見屬性如下:
屬性名 |
值類型 |
說明 |
ApplicationPath |
String |
獲取請求的資源在網站上的根的路徑 |
ContentEncoding |
Encoding |
設置請求對象的編碼 |
Cookies |
HttpCookieCollcetion |
客戶端向服務器發送的cookies集合 |
QueryString |
NameValueCollcetion |
當前請求的查詢字符串集合 |
UrlReferrer |
Url |
獲取用戶由那個Url跳轉到當前頁面 |
Response:代表了服務器響應對象。每次客戶端發出一個請求的時候,服務器就會用一個響應對象來處理這個請求,
處理完這個請求之後,服務器就會銷燬這個相應對象,以便繼續接受其它客服端請求。
Response常用屬性如下:
屬性名 |
值類型 |
說明 |
Charset |
String |
表示輸出流所使用的字符集 |
ContentEncoding |
Encoding |
設置輸出流的編碼 |
ContentLength |
int |
輸出流字節的大小 |
ContentType |
string |
輸出流的HTTP MIME類型 |
Cookies |
HttpCookieCollcetion |
返回給客戶端的Cookies集合 |
Output | TextWrite | 服務器返回對象的字符輸出流 |
RedirectLocation | String | 將當前請求重定向 |
Response常用方法如下:
屬性名 | 返回值類型 | 說明 |
AppendCookie | void | 向相應的cookies集合中追加一個cookie |
Clear | void | 清楚緩存區所有的內容輸出 |
Close | void | 關閉當前服務器到客戶端的鏈接 |
End | void | 終止相應,並將緩存區的數據向客戶端輸出 |
Redirect | void | 重定向當前請求 |
Server對象是用於獲取服務器的相關信息的對象。它常用方法如下:
屬性名 | 返回值類型 | 說明 |
Excete | void | 執行指定的資源,執行完成後,繼續執行頁面的代碼 |
HtmlDecode | string | 消除對特殊字符串編碼的影響 |
HtmlEncode | string | 對特殊字符串編碼 |
MapPath | string |
獲取指定相對路徑在服務器上的物理路徑 |
Transfer | void | 停止執行當前程序,執行指定資源 |
UrlDecode | string | 對路徑字符進行解碼 |
UrlEncode | string | 對路徑字符進行編碼 |
[session],[cookie],[application]
下面是Session、Cookie和Application的區別:
名稱 |
使用範圍 |
存儲位置 |
存放數據類型 |
生命週期 |
Session |
特定用戶 |
服務器 |
Object,也就是任意類型 |
有,可以自行設置 |
Cookie |
特定用戶 |
客戶端 |
String,也就值字符串 |
可以自行設置 |
Application |
所有用戶 |
服務器 |
Object,也就是任意類型 |
無(應用程序關閉時消失) |
轉自:http://www.cnblogs.com/heng_future/archive/2010/06/07/1752911.html