如何在客户端和客户端进行缓存当 VaryByParam != "none" 时服务器?
我正在寻找一种在客户端和服务器上缓存页面的方法,同时通过查询字符串参数“版本”改变服务器的输出缓存。
有了这个标签:
<%@ OutputCache Duration="10" Location="Any" VaryByParam="none" %>
我得到了这些标题:
HTTP/1.1 200 OK
Cache-Control: public
Content-Type: text/html; charset=utf-8
Expires: Wed, 03 Feb 2010 02:29:24 GMT
Last-Modified: Wed, 03 Feb 2010 02:29:14 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.21006
X-Powered-By: ASP.NET
Date: Wed, 03 Feb 2010 02:29:14 GMT
Content-Length: 2364
这正是我在客户端想要的,但在服务器端它不会因“版本”而变化。
同时,使用这个标签:
<%@ OutputCache Duration="10" Location="Any" VaryByParam="Version" %>
我得到这些标头:
HTTP/1.1 200 OK
Cache-Control: public, max-age=4
Content-Type: text/html; charset=utf-8
Expires: Wed, 03 Feb 2010 02:28:29 GMT
Last-Modified: Wed, 03 Feb 2010 02:28:19 GMT
Vary: *
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.21006
X-Powered-By: ASP.NET
Date: Wed, 03 Feb 2010 02:28:25 GMT
Content-Length: 2352
这正是我在服务器端想要的,但是“Vary:*”标头迫使浏览器在每个请求时重新加载页面。
有什么方法可以在客户端和服务器端同时根据参数进行缓存吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到它:
更多信息在这里:http://support.microsoft.com/kb/836868
据说 ASP.NET 4 beta 2 已修复此问题(请参阅 http ://www.asp.net/learn/whitepapers/aspnet4/writing-changes/#_TOC10),但从 VS 2010 RC 开始,它似乎仍然损坏。
Found it:
More info here: http://support.microsoft.com/kb/836868
Supposedly this has been fixed for ASP.NET 4 beta 2 (see http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes/#_TOC10) but it still seems broken as of VS 2010 RC.