如何在MVC应用程序中使用HTML5缓存?

时间:2013-04-11 16:31:04

标签: asp.net-mvc html5 caching

我在尝试做一些非常简单的事情时遇到问题(当用户无法访问Internet时显示离线页面)。 我有一个加载在我的地址http://192.168.2.29/MobilePortal/

上的MVC应用程序

我在网站上添加了一个manifest.cache文件,其中包含以下内容:

CACHE MANIFEST
# 11-04-2013

CACHE:
/MobilePortal/

NETWORK:

FALLBACK:
/MobilePortal/ /MobilePortal/offline.html

这背后的想法是当用户无法访问互联网时显示offline.html页面。

在我的应用程序MasterPage中包括:

<html manifest="<%=Url.Content("~/manifest.cache") %>"">

当我通过互联网连接Chrome访问应用程序时,我通过控制台获得以下信息:

Creating Application Cache with manifest http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1
Application Cache Checking event 192.168.2.29:1
Application Cache Downloading event 192.168.2.29:1
Application Cache Progress event (0 of 2) http://192.168.2.29/MobilePortal/offline.html      192.168.2.29:1
Application Cache Progress event (1 of 2) http://192.168.2.29/MobilePortal/ 192.168.2.29:1
Application Cache Progress event (2 of 2)  192.168.2.29:1
Application Cache Cached event

我觉得这里一切都很好。

然后我关闭了我的互联网连接并访问了http://192.168.2.29/MobilePortal/网址 但是不显示offline.html页面。 相反,我在Chrome控制台上得到了这个:

Document was loaded from Application Cache with manifest     http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1
Application Cache Checking event 192.168.2.29:1
Application Cache Error event: Manifest fetch failed (-1) http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1

我是否遗漏了回退规则?我尝试将index.html文件添加到应用程序中,并包含以下回退规则:

FALLBACK:
/MobilePortal/index.html /MobilePortal/offline.html

当我尝试访问http://192.168.2.29/MobilePortal/index.html时,浏览器显示offline.html页面成功。

任何帮助将不胜感激。 感谢。

0 个答案:

没有答案