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

baut 发布于 2019-03-09 caching 最后更新 2019-03-09 14:39 3 浏览

我在尝试做一些应该很简单的事情时遇到问题(当用户没有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访问与Internet连接的应用程序时,通过控制台获取以下内容:
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页面成功。 任何帮助,将不胜感激。 谢谢。
已邀请: