HOW TO:設定 ASP.NET 網頁快取的到期值
更新:2007 年 11 月
若要將網頁加入輸出快取,必須建立這個網頁的到期原則。您可以使用宣告方式或程式設計方式建立原則。
若要以宣告方式設定輸出快取期限
在想要快取其回應的 ASP.NET Web 網頁 (.aspx 檔) 中包含 @ OutputCache 指示詞。將 Duration 屬性設定為正數值,並且將 VaryByParam 屬性設定為數值。
注意事項: @ OutputCache 指示詞預設會將 Cache-Control 標頭設定為 Any。
例如,下列 @ OutputCache 指示詞會將網頁的到期時間設定為 60 秒:
<%@ OutputCache Duration="60" VaryByParam="None" %>
注意事項: 當使用 @ OutputCache 指示詞時必須包含 VaryByParam 屬性,否則會發生剖析器錯誤。如果您不想使用 VaryByParam 屬性所提供的功能,請將它的值設定為 "None"。如需詳細資訊,請參閱快取網頁的多個版本。
若要以程式設計的方式設定輸出快取期限
在網頁的程式碼中,在 Response 物件的 Cache 屬性上設定網頁的到期原則。
注意事項: 如果您以程式設計方式設定網頁期限,也必須設定快取網頁的 Cache-Control 標頭。若要設定標頭,請呼叫 SetCacheability 方法,然後將 HttpCacheability 列舉值 Public 傳遞給它。
下列程式碼範例設定的快取原則,與 @ OutputCache 指示詞在前一個程序中所設定的相同。
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)) Response.Cache.SetCacheability(HttpCacheability.Public) Response.Cache.SetValidUntilExpires(True)
當快取網頁到期時,後續的網頁要求會造成動態產生的回應。這個回應網頁可於指定持續期間內存入快取。