MVC中outputcache頁面緩存

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

相關文章
相關標籤/搜索