HTML5 应用程序缓存和浏览器缓存 - 它们会相互干扰吗?

HTML5 application cache and Browser cache - can they interfere with each other?

我的登录页面有问题(在这里查看我的第一个问题:asp.net login fails on first and second call - 我不确定这两个问题是否相关)。

我的第二个问题是有时我的登录页面会丢失其 css 样式。当我查看我的控制台日志时,我可以看到登录页面正在引用我的 css 文件的旧版本。

我可以看到我的应用程序缓存已更新并保存了 css 文件的新版本。登录页面也应该加载到 HTML5 应用程序缓存中,因此应该引用新的 css 文件而不是旧文件。

我的登录页面是否可能是从浏览器缓存而不是 HTML5 应用程序缓存中加载的?如果是这样,我该如何防止这种情况发生?如果我清除浏览历史记录,登录页面就会正常工作。

我的代码在陷阱 #3 上失败,如以下所列:

http://alistapart.com/article/application-cache-is-a-douchebag

我没有在我的 aspx 和 html 页面上设置缓存 header 因此,当清单更改时,浏览器会检查缓存清单中列出的页面并猜测需要哪些页面要被更新。有时它会决定不更新 login.aspx,我会看到上述行为。我现在已经按照建议将我的页面的缓存 header 设置为 'no-cache',方法是将以下内容添加到 global.asax:

Protected Sub Application_BeginRequest()
    Response.Cache.SetAllowResponseInBrowserHistory(False)
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Response.Cache.SetNoStore()
    Response.Cache.SetExpires(DateTime.Now)
    Response.Cache.SetValidUntilExpires(True)
End Sub