NET中Application,Session,Cookie,ViewState,Cache,Hidden 緩存機制 .

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」;.net

        String UserName=Application[「UserID」].ToString();server

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」]=」yiner」;
   String ID =ViewState[「ID」].ToString();

Cache

1.         Cache用於在Http請求期間保存頁面或者數據

2.         Cache的使用能夠大大的提升整個應用程序的效率

3.         它容許將頻繁訪問的服務器資源存儲在內存中,當用戶發出相同的請求後
服務器不是再次處理而是將Cache中保存的數據直接返回給用戶

4.         能夠看出Cache節省的是時間—服務器處理時間

5.         Cache實例是每個應用程序專有的,其生命週期==該應用程序週期
應用程序重啓將從新建立其實例

6.         注意:若是要使用緩存的清理、到期管理、依賴項等功能必須使用Insert 或者Add方法方法添加信息

7.         代碼:Cache[‘」ID」]=」yiner」;或者Cache.Insert(「ID」,」test」);
   String ID =Cache[「ID」].ToString();

Hidden

1.         Hidden控件屬於Html類型的服務器控件,始終處於隱藏狀態

2.         每一次提交的時候它會和其餘服務器控件一塊兒提交到服務器端

3.         代碼以下:Hidden.Value=」king」;string id=Hidden.Value; 要使用Runat=server

相關文章
相關標籤/搜索