若要導致某一頁添加到輸出緩存中,需要為該頁建立到期策略。這可以通過以聲明方式或編程方式來實現。
以聲明方式為頁設置輸出緩存到期時間
將 @ OutputCache 指令包括在您要緩存其響應的 ASP.Net 頁(.ASPx 文件)中。將 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 指令相同的緩存策略。
C#
復制代碼
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Visual Basic
復制代碼
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.Cache.SetValidUntilExpires(True)
當緩存頁到期時,以後對該頁的請求將導致動態生成的響應。會在指定的持續時間內緩存該響應頁。