1.Application:用於儲存所有使用者共用的資料資訊。在Asp.Net中類似的配置資料最好儲存在Web.config檔案中。如果使用Application物件,一個需要考慮的問題是任何寫操作都要在 Application_OnStart事件(global.asax)中完成。儘管使用Application.Lock和 Application.Unlock方法來避免寫操作的同步,但是它序列化了Application物件的請求,當網站訪問量大的時候會產生嚴重的效能瓶頸。因此最好不要用此物件儲存大的資料集。
使用如下:
//存放資訊
Application["nameID"]="0001";
//讀取資訊
String NameID=Application["nameID"].ToString();
2.Session:用於儲存每個使用者的專用資訊。Session中的資訊儲存在Web伺服器的記憶體中,儲存的資料量可大可小。當Session超時或被關閉時將自動釋放儲存的資料資訊。對於小量的資料Session物件儲存還是一個不錯的選擇。
使用如下:
//存放資訊
Session["nameID"]="0001";
//讀取資訊
String NameID=Session["nameID"].ToString();
3.Cookie: 用於儲存客戶瀏覽器請求伺服器頁面的請求資訊,其有效期可以人為設定,而且其儲存的資料量很受限制,因此不要儲存資料集及其他大量資料。而且Cookie以明文方式將資料資訊儲存在客戶端的計算機中,因此最好不要儲存敏感的未加密的資料。
使用如下:
//存放資訊
Response.Cookie["nameID"].Value="0001";
//讀取資訊
String NameID=Response.Cookie["nameID"].Value;
4.ViewState:常用於儲存單個使用者的狀態資訊,可以儲存大量的資料但是過多使用會影響應用程式的效能。所有Web伺服器控制元件都使用ViewStat在頁面回發期間儲存自己的狀態資訊。每個控制元件都有自己的ViewState,不用時最好關閉以節省資源。通過給@Page指令新增"EnableViewState= false"屬性可以禁止整個頁面的ViewState。
使用如下:
//存取資訊
ViewState["nameID"]="0001";
//讀取資訊
string NameID=ViewState["nameID"].ToString();
5.Cache:用於在Http請求間儲存頁面和資料。它允許將頻繁訪問的大量伺服器資源儲存在記憶體中,當使用者發出相同的請求時伺服器不再次處理而是將Cache中儲存的資訊返回給使用者,節省了伺服器處理請求時間。
使用如下:
//存放資訊
Cache["nameID"]="0001";
//存放資訊
Cache.Insert("nameID","0001");
//讀取資訊
String NameID=Cache["nameID"].ToString();
注意: 如果利用快取提供的清理、到期時間和依賴項等功能,必須使用Cache.Insert方法或Cache.Add方法新增資訊。
6.隱藏域:Hidden控制元件屬於Html型別的伺服器控制元件,可以實現隱藏域的功能,他和其他的空間沒什麼區別只是不會在瀏覽器上顯示,始終處於隱藏狀態。
使用如下:
//存放資訊
Hidden.Value="0001";
//讀取資訊
String NameID=Hidden.Value;
7.查詢字串:將傳遞的值連線在URL後面,然後通過Response.Redirect方法實現客戶端的重定向。
傳遞方法如下:
Response.Redirect("/");
執行上面的語句後在IE位址列顯示的URL的程式碼如下:
http://www.126fm.net/
當跳轉到List.aspx後,可以通過下面程式碼獲得傳遞的資訊:
String NameID,GradeID;
NameID=Request.Params["nameID"];
GradeID=Request["gradeID"];
通過比較總結的每一種物件應用的具體環境:
方法 資訊量大小 儲存時間 應用範圍 儲存位置
Application 任意大小 整個應用程式的生命週期 所有使用者 伺服器段
Session 小量,簡單的資料 使用者活動時間+一般延遲時間(一般為20分鐘) 單個使用者 伺服器段
Cookie 小量,簡單的資料 可以根據需要設定 單個使用者 客戶端
Viewstate 小量,簡單的資料 一個Web頁面的生存週期 單個使用者 客戶端
Cache 任意大小 可以根據需要設定 所有使用者 伺服器段
隱藏域 小量,簡單的資料 一個Web頁面的生存週期 單個使用者 客戶端
查詢字串 小量,簡單的資料 直到下次頁面跳轉請求 單個使用者 客戶端
web.config檔案 不變或極少改變的小量資料 直到配置檔案被更新 所有使用者