================================================================================
1.Application:用于儲存所有使用者共用的資料資訊。 在Asp.Net中類似的配置資料最好儲存在Web.config檔案中。如果使用Application對象,一個需要考慮的問題是任何寫操作都要在 Application_OnStart事件(global.asax)中完成。盡管使用Application.Lock和 Application.Unlock方法來避免寫操作的同步,但是它串行化了Application對象的請求,當網站通路量大的時候會産生嚴重的性能 瓶頸。是以最好不要用此對象儲存大的資料集。
使用如下:
//存放資訊
Application["UserNameID"]="1000";
//讀取資訊
String NameID=Application["UserNameID"].ToString();
2.Session:用于儲存每個使用者的專用資訊。Session中的資訊儲存在Web伺服器的記憶體中,儲存的資料量可大可小。當Session逾時或被關閉時将自動釋放儲存的資料資訊。對于小量的資料Session對象儲存還是一個不錯的選擇。
使用如下:
//存放資訊
Session["UserNameID"]="1000";
//讀取資訊
String NameID=Session["UserNameID"].ToString();
3.Cookie: 用于儲存客戶浏覽器請求伺服器頁面的請求資訊,其有效期可以人為設定,而且其存儲的資料量很受限制,是以不要儲存資料集及其他大量資料。而且Cookie以明文方式将資料資訊儲存在用戶端的計算機中,是以最好不要儲存敏感的未加密的資料。
使用如下:
//存放資訊
Response.Cookie["UserNameID"].Value="1000";
//讀取資訊
String NameID=Response.Cookie["UserNameID"].Value;
4.ViewState: 常用于儲存單個使用者的狀态資訊,可以儲存大量的資料但是過多使用會影響應用程式的性能。所有Web伺服器控件都使用ViewStat在頁面回發期間儲存自 己的狀态資訊。每個控件都有自己的ViewState,不用時最好關閉以節省資源。通過給@Page指令添加"EnableViewState= false"屬性可以禁止整個頁面的ViewState。
使用如下:
//存取資訊
ViewState["UserNameID"]="1000";
//讀取資訊
string NameID=ViewState["UserNameID"].ToString();
5.Cache:用于在Http請求間儲存頁面和資料。它允許将頻繁通路的大量伺服器資源存儲在記憶體中,當使用者發出相同的請求時伺服器不再次處理而是将Cache中儲存的資訊傳回給使用者,節省了伺服器處理請求時間。
使用如下:
//存放資訊
Cache["UserNameID"]="1000";
//存放資訊
Cache.Insert("UserNameID","1000");
//讀取資訊
String UserNameID=Cache["UserNameID"].ToString();
6.隐藏域:Hidden控件屬于Html類型的伺服器控件,可以實作隐藏域的功能,他和其他的空間沒什麼差別隻是不會在浏覽器上顯示,始終處于隐藏狀态。
使用如下://存放資訊
Hidden.Value="1000";
//讀取資訊
String UserNameID=Hidden.Value;
7.查詢字元串:将傳遞的值連接配接在URL後面,然後通過Response.Redirect方法實作用戶端的重定向。
使用如下:
Response.Redirect("User.aspx?UserNameID=10000&LevelD=100");
執行上面的語句後在IE位址欄顯示的URL的代碼如下:
http://localhost/User.aspx?UserNameID=1000&LevelID=100當跳轉到User.aspx後,可以通過下面代碼獲得傳遞的資訊:
String UserNameID,LevelD;
UserNameID=Request.Params["UserNameID"];
LevelD=Request["LevelD"];
================================================================================
Application
1. Application用來儲存所有使用者共用的資訊
2. 在Asp時代,如果要儲存的資料在應用程式生存期内不會或者很少發生改變,那麼使用Application是理想的選擇。但是在Asp.net開發環境中我們把類似的配置資料放在Web.config中。
3. 如果要使用Application 要注意的是所有的寫操作都要在Application_OnStart事件中完成(global.Asax),盡管可以使用Application.Lock()避免了沖突,但是它串行化了對Application的請求,會産生嚴重的性能瓶頸。
4. 不要使用Application儲存大資料量資訊
5. 代碼:Application[“UserID”]=”test”;
String UserName=Application[“UserID”].ToString();
Session
1. Session用來儲存每一個使用者的專有資訊
2. Session的生存期是使用者持續請求時間加上一段時間(一般是20分鐘左右)
3. Session資訊是儲存在Web伺服器記憶體中的,儲存資料量可大可小
4. Session逾時或者被關閉将自動釋放資料資訊
5. 由于使用者停止使用應用程式之後它仍在記憶體中存留一段時間,是以這種方法效率較低
6. 代碼:Session[“UserID”]=”test”;
String UserName=Session[“UserID”].ToString();
Cookie
1. Cookie用來儲存客戶浏覽器請求伺服器頁面的請求資訊
2. 我們可以存放非敏感的使用者資訊,儲存時間可以根據需要設定
3. 如果沒有設定Cookie失效日期,它的生命周期儲存到關閉浏覽器為止
4. Cookie對象的Expires屬性設定為MinValue表示永不過期
5. Cookie存儲的資料量受限制,大多數的浏覽器為4K是以不要存放大資料
6. 由于并非所有的浏覽器都支援Cookie,資料将以明文的形式儲存在用戶端
7. 代碼:Resopnse.Cookies[“UserID”]=”test”;
String UserName= Resopnse.Cookies [“UserID”].ToString();
ViewState
1. ViewState用來儲存使用者的狀态資訊,有效期等于頁面的生命周期
2. 可以儲存大量資料但是要慎用,因為會影響程式性能
3. 所有的Web伺服器控件都是用ViewState在頁面PostBack期間儲存狀态
4. 不需要則關閉 @page 裡面設定EnableViewState=false
5. 代碼:ViewState[”ID”]=”cc”;
String ID =ViewState[“ID”].ToString();
Cache
1. Cache用于在Http請求期間儲存頁面或者資料
2. Cache的使用可以大大的提高整個應用程式的效率
3. 它允許将頻繁通路的伺服器資源存儲在記憶體中,當使用者發出相同的請求後
伺服器不是再次處理而是将Cache中儲存的資料直接傳回給使用者
4. 可以看出Cache節省的是時間—伺服器處理時間
5. Cache執行個體是每一個應用程式專有的,其生命周期==該應用程式周期
應用程式重新開機将重新建立其執行個體
6. 注意:如果要使用緩存的清理、到期管理、依賴項等功能必須使用Insert 或者Add方法方法添加資訊
7. 代碼:Cache[”ID”]=”cc”;或者Cache.Insert(“ID”,”test”);
String ID =Cache[“ID”].ToString();
Hidden