Outputcache:VaryByHeader ="User-Agent"或VaryByCustom ="Browser"?

sl3*_*dg3 11 asp.net caching

我不确定VaryByHeader="User-Agent"和之间的区别VaryByCustom="Browser".后者会创建较少的缓存页面是正确的吗?或者换句话说,如果我只想缓存不同的浏览器类型(和版本),后者是更好的选择?

感谢任何建议!sl3dg3

rus*_*sau 16

从MSDN文章 - ASP.NET缓存:技术和最佳实践:

为了为每个浏览器启用单独的缓存条目,可以将VaryByCustom设置为"浏览器"的值.此功能内置于缓存模块中,并将为每个浏览器名称和主要版本插入单独的缓存版本的页面.

我认为这意味着以下的用户都将被视为IE9.0,并创建一个缓存条目:

  • Mozilla/5.0(Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))
  • Mozilla/5.0(Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
  • Mozilla/5.0(兼容; MSIE 9.0; Windows NT 7.1; Trident/5.0)

但是如果你使用的话会创建3个条目 VaryByHeader="User-Agent"