如何:设置 ASP.NET 页缓存的过期时间值

更新:2007 年 11 月

若要导致某一页添加到输出缓存中,需要为该页建立到期策略。这可以通过以声明方式或编程方式来实现。

以声明方式为页设置输出缓存到期时间

  • @ OutputCache 指令包括在您要缓存其响应的 ASP.NET 页(.aspx 文件)中。将 Duration 属性设置为一个正数值,将 VaryByParam 属性设置为一个值。

    y18he7cw.alert_note(zh-cn,VS.90).gif说明:

    默认情况下,@ OutputCache 指令将 Cache-Control 标头设置为 Any。

    例如,下面的 @ OutputCache 指令将页的到期时间设置为 60 秒:

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    
    y18he7cw.alert_note(zh-cn,VS.90).gif说明:

    在使用 @ OutputCache 指令时,必须包括一个 VaryByParam 属性,否则将出现分析器错误。如果不希望使用 VaryByParam 属性提供的功能,请将它的值设置为“None”。有关更多信息,请参见缓存页的多个版本

以编程方式为页设置输出缓存到期时间

  • 在该页的代码中,在 Response 对象的 Cache 属性中设置该页的到期策略。

    y18he7cw.alert_note(zh-cn,VS.90).gif说明:

    如果以编程方式设置页的到期时间,则您还必须为缓存的页设置 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)
    

    当缓存页到期时,以后对该页的请求将导致动态生成的响应。会在指定的持续时间内缓存该响应页。

请参见

任务

如何:以声明方式设置 ASP.NET 页的可缓存性

如何:以编程方式设置页的可缓存性

概念

缓存 ASP.NET 页

设置页的可缓存性