在部署新版本的网站后,浏览器会从旧网页的缓存中加载所有内容,直到强制刷新完成为止。图像很旧,cookie很旧,而且有些AJAX部分不能正常工作。
部署后,如何继续使用最新版本的页面为用户提供服务?
该网页是使用IIS7 +的ASP.Net网页。
答案 0 :(得分:33)
您可以将变量附加到每个部署的每个资源的末尾。例如,您可以命名样式表:
styles.css?id=1
每次更改ID。
这会强制浏览器下载新版本,因为它无法在缓存中找到它。
答案 1 :(得分:2)
对于ASP.NET,您可以使用cache control and expires headers。您还可以set up similar headers in IIS 7查看图片。如果您有任何其他Cookie you can expire them manually。
我还没有尝试过,但看起来你可以在IIS 7 See this thread和this link中更好地批量设置缓存控制。此时,您只需要取消设置任何自定义cookie(使用HTTP缓存控制设置无法控制)。
我不知道任何方法可以轻易地“一次性取消所有内容”。
答案 2 :(得分:2)
您可以使用http标头来控制客户端的缓存。
我会把这个留给你。 http://support.microsoft.com/kb/234067