HOW TO:以宣告方式設定 ASP.NET 網頁的快取性
更新:2007 年 11 月
網頁或使用者控制項的快取性,是指網頁在其回應生命週期內是否能夠快取。這些裝置包括提出要求的用戶端 (瀏覽器)、回應要求的 Web 伺服器,以及在要求或回應資料流中,任何具快取功能的裝置 (例如 Proxy 伺服器)。
如果在設計階段就知道網頁的快取性設定需求,就可以用宣告方式設定快取性。網頁接著就會對所有要求使用相同的快取性設定。如需詳細資訊,請參閱設定網頁的快取性。
若要以宣告方式設定網頁的快取性
在網頁中包含 @ OutputCache 指示詞並且定義 Duration 和 VaryByParam 屬性。
在 @ OutputCache 指示詞中包含 Location 屬性,並且將值定義為下列其中一個 OutputCacheLocation 列舉型別中的值:Any、Client、Downstream、Server、ServerAndClient 或 None。
下列程式碼範例示範如何將網頁的快取性設定為 60 秒:
<%@ OutputCache Duration="60" VaryByParam="None"%>
注意事項: 預設的設定值是 Any。如果您不定義 Location 屬性,則網頁輸出就可以快取在與回應相關之所有具快取功能的網路裝置上。這些包含要求用戶端、原始伺服器以及回應傳遞必經的任何 Proxy 伺服器。
若要使用快取設定檔以宣告方式設定網頁的快取性
在應用程式的 Web.config 檔和設定檔中定義快取設定檔,其中包含 duration 和 varyByParam 設定。
下列 <caching> 組態項目定義名為 Cache30Seconds 的快取設定檔,其會將伺服器上的網頁快取 30 秒。
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="Cache30Seconds" duration="30" varyByParam="none" /> </outputCacheProfiles> </outputCacheSettings> </caching>
在每個 ASP.NET 網頁中包含使用設定檔的 @ OutputCache 指示詞,並且將 CacheProfile 屬性設定為 Web.config 檔中定義的快取設定檔名稱。
下列程式碼指定網頁應該使用名為 Cache30Seconds 的快取設定檔。
<%@ OutputCache CacheProfile="Cache30Seconds" %>