设置页缓存的到期时间

若要将页添加到输出缓存中,您必须建立该页的到期策略。您可以使用 @ OutputCache 指令以声明方式完成该操作,或使用 HttpCachePolicy.SetExpires 方法以编程方式完成该操作。默认情况下,@ OutputCache 指令将 Cache-Control 标头设置为 Public

如果以编程方式为页设置到期时间,则您还必须为缓存的页设置 Cache-Control 标头。使用 HttpCachePolicy.SetCacheability 方法将 HttpCacheability 枚举设置为 Public

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

  • @ OutputCache 指令包含在要将其响应存储在输出缓存中的页(.aspx 文件)中。该指令必须包括一个 Duration 属性(该属性具有正数字值)和一个 VaryByParam 属性。下面的 @ OutputCache 指令将页的到期时间设置为 60 秒。
    <%@ OutputCache Duration="60" VaryByParam="None" %>
    注意   当使用 @ OutputCache 指令时,您必须包括一个 VaryByParam 属性,否则将发生分析器错误。如果不想使用 VaryByParam 属性所提供的功能,请将其值设置为 None。有关使用 VaryByParam 属性的更多信息,请参见缓存页的多个版本

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

  • 在页的代码声明块中或在该页的代码隐藏类中,通过使用 Response.Cache 语法将设置该页到期策略的代码包括在其中。下面的示例设置页的到期时间,如上一个过程中 @ 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)

一旦超过了缓存页的持续时间,后面对该页的请求将导致动态生成的响应。又会在一段指定的持续时间内缓存该响应页。

原文地址:https://www.cnblogs.com/zsxfbj/p/140406.html