• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[转]ASP.NET缓存(八)--根据请求浏览器缓存页的版本

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

您可以使用@ OutputCache 指令的 VaryByCustom 属性或 HttpCachePolicy.SetVaryByCustom 方法根据请求该页的浏览器的主版本来改变页输出的版本。该主版本和浏览器类型信息是通过与当前请求关联的 HttpBrowserCapabilities.MajorVersion 属性传递的。您可以通过与该页关联的 Request 对象访问此信息,但是使用 ASP.NET 提供的内置功能将更简单。

根据浏览器类型以声明方式缓存页输出的多个版本

  1. 在 .aspx 文件中,将 @OutputCache 指令与必需的 DurationVaryByParam 属性包括在一起。必须将 Duration 属性设置为大于零的任意整数。如果不想使用 VaryByParam 属性提供的功能,则必须将其值设置为 None
  2. @OutputCache 指令体中,包括 VaryByCustom 属性并将其设置为 browser
    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>

根据自定义字符串以编程方式缓存页响应的多个版本

  1. 在该页的代码声明块或代码隐藏类中,使用 Response.Cache 语法为已缓存的页面内容设置到期和可见性策略。您可以分别使用 HttpCachePolicy.SetExpiresHttpCachePolicy.SetCacheability 方法来完成此任务。有关更多信息,请参见设置页缓存的到期时间设置页的可缓存性
  2. 在相同的代码中,在 SetVaryByCustom 方法的 custom 参数中指定 browser
    [C#]
        Response.Cache.SetVaryByCustom("browser");
        [Visual Basic]
        Response.Cache.SetVaryByCustom("browser")

不管您使用哪种技术,当指定 browser 时,ASP.NET 根据在与当前请求一起传递的 Request.Browser.Type 属性中传递的浏览器名称和主版本信息来自动缓存页输出的版本。通过与该请求关联的 HttpContext 类可以使用该信息。

例如,当 Internet Explorer 5 浏览器请求页时,则将为请求的 Type 属性中传递的字符串值 "IE5" 缓存页的版本。如果是 Netscape Navigator 浏览器、Internet Explorer 的另一个版本或任何其他浏览器请求页,则将页的另一个版本添加到输出缓存中。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap