我已经在这几天了,我变得越来越沮丧。我在 Chrome、FF 上得到不一致的离线功能结果,我刚刚开始使用 Safari。
我正在使用 Asp .Net MVC 3 开发沙盒应用程序。下面是我的应用程序的结构:
- 控制器/汽车控制器
- 视图/汽车/编辑
- 视图/汽车/编辑离线
- 浏览量/汽车/索引
在 3 个视图中,Index 是唯一定义了 manifest 属性的视图。索引是最初请求的视图。以下是我的清单的内容:
CACHE MANIFEST
FALLBACK:
Car/Edit Car/EditOffline
#Version 1
在 Index 的第一个请求时,浏览器会在 Application Cache 中创建 3 个条目。他们是:
- 本地主机/沙盒/汽车,类型 = 主
- localhost/Sandbox/Car/EditOffline,类型 = 后备
- 本地主机/沙盒/离线。,类型=清单
我一直在模拟所有 3 个浏览器的脱机行为的方式是显式停止 IIS。之后,已请求索引。我关闭了 IIS 并向 Edit 操作发出请求。结果是 EditOffline 得到了服务。现在,当我再次查看 Index 视图时,我收到 404 错误,但为什么呢?我以为浏览器会提供该页面的缓存版本?当我重新请求编辑视图时(仍处于离线状态),我也收到 404 错误,但为什么呢?浏览器之前提供了 EditOffline 视图,那么为什么我现在得到 404 呢?在 FF 中,我已经让它按预期工作了几次,但我没有进行任何代码更改。我明确删除了离线缓存,重新启动服务器,重新请求索引视图,它神奇地工作了。