一 它在Web.Config中的位置
<system.web>
<!--頁面緩存-->
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<!--首頁的緩存 30day-->
<add name="homeindex" duration="2592000" varyByParam="id" location="Any"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
Duration
緩存時間,以秒爲單位,這個除非你的Location=None,能夠不添加此屬性,其他時候都是必須的。經過設置該屬性,可以爲來自對象的HTTP響應創建了一個過時策略,並將自動緩存頁或用戶控件輸出。須要注意的是,Duration屬性是必需的,不然將會引發分析器錯誤。
Location
Location當被設置爲None時,其他的任何設置將不起做用
Any——頁面被緩存在瀏覽器、代理服務器端和web服務器端;
Client——緩存在瀏覽器;
DownStream——頁面被緩存在瀏覽器和任何的代理服務器端;
None——頁面不緩存;
ServerAndClient——頁面被緩存在瀏覽器和web服務器端;
默認爲Any 。
Shared
用來控制用戶控件輸出內容是否可以被多個頁面共享。默認值爲false。
VaryByCustom
任何自定義輸出緩存的文字。若是將該屬性設置爲browser,將會緩存多種的瀏覽器名稱與版本信息。當使用了自定義字符串以後,<br>就必須在應用程序的Global.asax文件中對HttpApplication.GetVaryByCustomString成員進行重載。
VaryByHeader
該屬性中包含由分號分隔的HTTP標頭列表,用於使輸出緩存發生變化。當將該屬性設爲多標頭時,對於每一個指定的標頭,輸出緩存都包含一個請求文檔的不一樣版 本。<br>VaryByHeader屬性在全部HTTP 1.1緩存中啓用緩存項,而不只限於ASP.NET緩存。用戶控件中的@ OutputCache指令不支持此屬性。
VaryByParam
該屬性定義了一個分號分隔的字符串列表,用於使輸出緩存發生變化。
這個是緩存的參數,若是有多箇中間須要使用分號進行分割
默認狀況下,這些字符串與用GET方法屬性發送的查詢字符串值對應,或與用POST方法 發送的參數對應。當將該屬性設置爲多參數時,對於每一個指定的參數,輸出緩存都包含一個請求文檔的不一樣版本。<br>可能的值包括「none」、「*」和任何有效的 查詢字符串或POST參數名稱。值得注意的是,在輸出緩存ASP.NET頁時,該屬性是必需的。<br>它對於用戶控件也是必需的,除非已經在用戶控件的@ OutputCache指令中包含了VaryByControl屬性。若是沒有包含,則會發生分析器錯誤<br>。若是不須要使緩存內容隨任何指定參數發生變化,<br> 則可將該值設爲「none」。若是要使輸出緩存根據全部參數值發生變化,則將屬性設置爲「*」。