asp.net-mvc - HTML5 缓存 list 缓存的工作方式是否与常规浏览器缓存不同?

标签 asp.net-mvc asp.net-mvc-4 html5-appcache cache-manifest

好的,我正在为需要具有离线功能的 ASP.NET MVC 4 移动应用程序构建一个 PoC,我有几个关于我是否正确设计应用程序以及我将从中获得什么行为的问题缓存 list 。

我正在 PoC 上取得进展,但我在将 list 属性添加到我的 Layout.cshtml 后立即观察到工作 Controller 操作的奇怪行为。

在添加该属性之前,每次我请求该 URL 时,我在 Controller 操作上设置的断点每次都会命中一次。添加后,第一次请求页面时断点被击中 3 次(有史以来第一次),并且在我手动删除本地缓存 list 之前它根本不再被击中。

没有其他改变,所以这让我相信这种类型的离线缓存的工作方式与浏览器缓存的常规方式不同。我在想,由于我正在访问的页面列在 list 中,所以第一次命中断点是因为我请求了该页面,然后第二次命中断点是因为它列在 list 中。

这已经很奇怪了。这是为什么?

除此之外,为什么它会被第三次击中?

我已经确认,如果我手动删除本地缓存的 list 并从 html 标记中删除 list 属性,该行为就会消失,所以这很可能是罪魁祸首。

谁能解释一下这是怎么回事?谢谢。

最佳答案

好吧,没有人回复,而且我再也无法重现被击中 3 次的断点,尽管我确信它发生过几次。

是的,appcache 或 html list 缓存的工作方式与常规缓存不同。

第一次访问在其 html 标记上具有 manifest 属性的页面时, list 中列出的同一页面会向服务器请求同一页面。

我正在将答案设为 wiki,以防有人想添加任何内容。

关于asp.net-mvc - HTML5 缓存 list 缓存的工作方式是否与常规浏览器缓存不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267041/

相关文章:

c# - 在 MVC 4 中使用 Ninject 进行单元测试

web-services - 在服务器上运行 asp.net WebAPI,无需安装 asp.net mvc 4 beta

html - Ajax 请求和离线缓存

php - 在 HTML5 appcache 中缓存 php 页面

web - 为不支持的浏览器实现带有 appcache 回退的 Service Workers

asp.net-mvc - ASP.NET MVC : Multiple View Folders and _ViewStart. cshtml 文件

asp.net-mvc - 可浏览的网站同时受版本控制?

asp.net-mvc - ASP MVC 2 注入(inject)

asp.net-mvc - 如何从 ASP.NET MVC 应用程序返回 404 响应?

asp.net-mvc - 获取 mvc 4 上的当前文化或浏览器区域设置