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
1. Hidden控件屬於Html類型的服務器控件,始終處於隱藏狀態
2. 每一次提交的時候它會和其他服務器控件一起提交到服務器端
3. 代碼如下:Hidden.Value=”cc”;
string id=Hidden.Value; 要使用Runat=server