1.頁面緩存:
頁面輸出緩存用於緩存頁面呈現的所有內容(當在浏覽器中選擇查看源碼能看 的所有內容)到內存中.
注:頁面輸出緩存作用於整個頁面.
1.1部分頁面緩存通過只緩存頁面上的一個特定區域來解決這個問題.利用部 分頁面緩存,可以對頁面的不同區域應用
不同的緩存策略.
1.2當一個頁面被緩存時,被請求時的頁面內容並不會每次都重新生成.每次請 求一個頁面,對應到頁面的.NET類也不會
執行.對於每一個請求頁面的用戶,頁面呈現的內容都會緩存.
((((((((((((((((((((((((((((((((((((((((((((((((
緩存的存放的位置:
頁面可在多個位置緩存.而默認情況下,頁面可能緩存在浏覽器,任意的代理服 務器端以及Web服務器.
(注:當代理服務器端或浏覽器緩存頁面時,它們總是緩存整個頁面.)
也可以在OutputCache的Location屬性來設置緩存存放位置。 Any,Client,DownStream,None,ServerAndClient.
))))))))))))))))))))))))))))))))))))))))))))))))
1.3緩存之基於自定義函數變化的輸出緩存
VaryByCustom可以給它指定一個自定義函數來決定何時生成不同的頁面緩存 版本.
可以在Global.asax全局程序類文件中重寫GetVaryByCustomString()方法來 創建自定義函數.
即根據GetVaryByCustomString()方法返回的string生成相應此string的頁面 緩存版本.
1.4創建頁面輸出緩存文件依賴
即可以在一個緩存頁面和硬盤上的一個文件(或一組文件)之間創建一個依 賴。當文件修改時緩存頁面自動失效
並重新在下次頁面請求時生成。
1.5使用編程方式設置輸出緩存過期
使用Response.RemoveOutputCacheItem()方法,只接受一個“虛擬絕對”路 徑,即要用Page.ResoveUrl()方法來
轉換~符號為應用程序的根路徑。
CodeCode
[copy to clipboard]CODE:
HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/實現使用編程 方式設置頁面輸出緩存過 期/MovieList.aspx"));
Response.Redirect("~/實現使用編程方式設置頁面輸出緩存過 期/MovieList.aspx");
1.6若要刪除多個頁面,需要創建一個所謂的鍵依賴(Key dependency)。一 個鍵依賴用於在緩存中的項目之間建立依賴。當第二個項目移除時,第一個項目 也會被自動移除。
先插入Cache.Insert("Movies", DateTime.Now);
Response.AddCacheItemDependency("Movies");
再在另一個頁面Code
[copy to clipboard]CODE:
Cache.Remove("Movies");
Response.Redirect("~/實現使用編程方式設置頁面輸出緩存過 期/MovieListKeyDependency.aspx");
******************************************************************* **********************
上面介紹的是頁面的全部緩存輸出
下面介紹的是使用部分頁面緩存
******************************************************************* **********************