加入收藏 - 网站地图 - 网站搜索 -
阅读新闻

使用请求浏览器缓存页的各个版本

[日期:01-13] [字体: ]

如果您的 Web 应用程序包含一个基于请求浏览器的类型创建不同输出的页,则可以按请求该页的浏览器的主版本来缓存页输出的版本。例如,当 Internet Explorer 6 浏览器请求某一页时,将缓存该页的一个版本。如果是 Netscape Navigator 浏览器、Internet Explorer 的另一个版本或任何其他浏览器请求页,则将页的另一个版本添加到输出缓存中。

Note注意

主版本和浏览器类型信息是通过 HttpBrowserCapabilities 对象的 MajorVersion 属性在当前请求中传递的。

基于浏览器类型以声明方式缓存页的多个版本

  1. 在 ASP.NET 页中,包括一个具有必需的 Duration 以及 VaryByParam 或 VaryByControl 属性的 @ OutputCache 指令。必须将 Duration 属性设置为大于零的整数。如果希望仅按浏览器类型进行缓存,请将 VaryByParam 属性设置为“None”。

  2. 在 @ OutputCache 指令中,包括 VaryByCustom 属性并将其设置为“browser”。

    下面的示例将导致持续缓存该页达 10 秒。输出将因浏览器类型而异。

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>

基于浏览器类型以编程方式缓存页的多个版本。

  1. 在页代码中,对页的 Response 属性的 Cache 属性调用 SetExpires 和 SetCacheability 方法。

  2. 调用 SetVaryByCustom 方法,在 custom 参数中传递值“browser”。

    下面的代码示例演示如何持续缓存页的多个版本达 1 分钟。输出将因发出请求的浏览器的类型而异。

    C#
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
        Response.Cache.SetVaryByCustom("browser");
    }
    


 
评论 】 【 推荐 】 【 打印
上一篇:使用自定义字符串对页的各个版本进行缓存
下一篇:Html网页页面head区规范知识
相关新闻