1、頁面緩存 html
利用頁面輸出緩存,能夠存儲呈現的 HTML,以響應相同頁的後續請求。 咱們可以使用輸出緩存來緩存整個網頁或僅緩存ASP.NET 控件的輸出。頁面緩存可以讓 ASP.NET 向客戶端發送頁響應,而沒必要再次通過頁處理生命週期。 頁輸出緩存對於那些不常常更改,但須要大量處理才能建立的頁特別有用,能夠極大地提升該頁的性能。 web
能夠分別爲每一個頁配置頁緩存,也能夠在 Web.config 文件中建立緩存配置文件,利用緩存配置文件,只定義一次緩存設置就能夠在多個頁中使用這些設置。瀏覽器
2、OutPutCache經常使用屬性介紹緩存
一、Duration 服務器
用於設置頁面或者用戶控件緩存的時間。單位是秒。經過設置該屬性,可以爲來自對象的HTTP響應創建了一個過時策略,並將自動緩存頁或用戶控件輸出。須要注意的是,Duration屬性是必需的,不然將會引發分析器錯誤。
性能
二、OutputCacheLocation代理
枚舉類型,緩存的位置。當設置成None時,全部緩存將失效,默認爲Any。htm
(1)、Any:頁面被緩存在瀏覽器、代理服務器端和web服務器端;對象
(2)、Client:緩存在瀏覽器;生命週期
(3)、DownStream:頁面被緩存在瀏覽器和任何的代理服務器端;
(4)、Server:頁面被緩存在Web服務器端;
(5)、None:頁面不緩存;
(6)、ServerAndClient:頁面被緩存在瀏覽器和web服務器端;
三、VaryByParam
用於多個輸出緩存的字符串列表,並以分號進行分隔。默認時,該字符串與GET方法傳遞的參數或與POST方法傳遞的變量相對應。當被設置爲多個參數時,輸出緩存將會爲每一個參數都準備一個與之相對應的文檔版本。
可能值包括none,*,以及任何有效的查詢串或POST參數名稱。
若是您不想要爲不一樣的已緩存內容指定參數,能夠將其設置爲none。若是想要指定全部的已緩存內容參數,能夠設置爲*。
四、VaryByCustom
用於自定義輸出緩存要求的任意文本。若是賦予該屬性值是browser,緩存將隨瀏覽器名稱和主要版本信息的不一樣而異。若是輸入了自定義字符串,則必須在應用程序的Global.asax文件中重寫HttpApplication.GetVaryByCustomString方法。
五、VaryByHeader
該屬性中包含由分號分隔的HTTP標頭列表,用於使輸出緩存發生變化。當將該屬性設爲多標頭時,對於每一個指定的標頭,輸出緩存都包含一個請求文檔的不一樣版本
六、NoStore
一個布爾值,用於決定是否阻止敏感信息的二級存儲。 將此屬性設置爲true等效於在請求期間執行代碼「Response.Cache.SetNoStore();」。
七、CacheProfile
配置文件中設置緩存。 這是可選特性,默認值爲空字符串 ('')。
在頁中指定此屬性時,屬性值必須與 outputCacheSettings 節下面的 outputCacheProfiles 元素中的一個可用項的名稱匹配。 若是此名稱與配置文件項不匹配,將引起異常。
參考資料:MVC中outputcache頁面緩存 http://www.studyofnet.com/news/1167.html