我正在开发具有相同网址动态内容的移动设备,智能手机,桌面网站,我无法设置不同的用户代理。默认值为Accept-Encoding即将到来。我们如何替换各种各样:Accept-Encoding变化:用户代理?
我尝试了所有这些
1.<%@ OutputCache Duration =“180”VaryByHeader =“User-Agent”%>
2.HttpContext.Current.Response.AddHeader(“Vary”,“User-Agent”);
3.HttpContext.Current.Items.Add(“Vary”,“User-Agent”);
4.HttpContext.Current.Response.Cache.SetVaryByCustom( “用户代理”);
5.HttpContext.Current.Response.Cache.VaryByHeaders.UserAgent = true;
6.HttpContext.Current.Response.Headers.Set(“Vary”,“User-Agent”);
但仍然会来
Cache-Control:public,max-age = 180 内容编码:gzip 内容长度:9741 内容类型:text / html的;字符集= ISO-8859-1 日期:星期二,2013年7月23日12:19:23 GMT 到期日:2013年7月23日星期二12:22:22 GMT Last-Modified:Tue,2013年7月23日12:19:22 GMT 服务器:Microsoft-IIS / 7.5 的有所不同:接受编码
我想要的是
Cache-Control:public,max-age = 180 内容编码:gzip 内容长度:9741 内容类型:text / html的;字符集= ISO-8859-1 日期:星期二,2013年7月23日12:19:23 GMT 到期日:2013年7月23日星期二12:22:22 GMT Last-Modified:Tue,2013年7月23日12:19:22 GMT 服务器:Microsoft-IIS / 7.5 的而异:用户代理
感谢
答案 0 :(得分:0)
“如果只想通过HTTP标头值进行缓存,则必须将VaryByParam属性设置为”None“。”
http://msdn.microsoft.com/en-us/library/vstudio/system.web.ui.outputcachelocation%28v=vs.100%29.aspx
http://msdn.microsoft.com/en-us/library/vstudio/a6s4ks5w%28v=vs.85%29.aspx