若要导致某一页添加到输出缓存中,需要为该页建立到期策略。这可以通过以声明方式或编程方式来实现。
以声明方式为页设置输出缓存到期时间
将 @ 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)
当缓存页到期时,以后对该页的请求将导致动态生成的响应。会在指定的持续时间内缓存该响应页。
新闻热点
疑难解答