如何:设置 ASP.NET 页缓存的过期时间值
更新:2007 年 11 月
若要导致某一页添加到输出缓存中,需要为该页建立到期策略。这可以通过以声明方式或编程方式来实现。
以声明方式为页设置输出缓存到期时间
将 @ 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 指令相同的缓存策略。
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)
当缓存页到期时,以后对该页的请求将导致动态生成的响应。会在指定的持续时间内缓存该响应页。