【问题标题】:HTML5 AppCache: Application cache worked on development server but not on IIS 7.5HTML5 AppCache:应用程序缓存在开发服务器上有效,但在 IIS 7.5 上无效
【发布时间】:2013-10-13 15:02:30
【问题描述】:

我正在开发 HTML 5 离线应用程序。当我在 Visual Studio 上运行该应用程序时,它工作正常,但是当我停止我的应用程序然后刷新我的页面时,它会触发 Manifest 错误事件,但我的应用程序在本地缓存中工作正常。 但是当我在 IIS 7.5 上托管相同的应用程序时,它可以正常工作,直到我停止服务器。当我停止服务器而不是刷新我的页面时,它会生成过时的事件并删除缓存。 现在我卡住了该怎么办。我还添加了 MIME 类型 .appcache 和类型 text/cache-manifest

【问题讨论】:

    标签: html asp.net-mvc-4 offline-caching offlineapps application-cache


    【解决方案1】:

    我的猜测是,因为您的浏览器在技术上处于在线状态(服务器已关闭/离线),它会将未能检索清单视为错误。

    因此它会触发obsolete 事件并按照the spec (look at the "Dispatched when..." column for the obsolete event) 删除当前应用程序缓存

    所以,appcache 可能正在工作——或者如果没有,这不是原因——这是您的测试存在缺陷的症状。

    顺便说一句,我做了完全相同的事情 - 直到在生产/外部环境中才能测试您的应用程序将如何公平,这很烦人。因此,准备好推送您的应用程序并意识到您错过了清单中的资源! :)

    【讨论】:

    • 有什么办法可以解决这个问题吗?如果服务器关闭,appcache 已被删除,现在没有更多的离线工作,我应该怎么做?
    • 这不是最方便的解决方案,但您可以 (1) 设置虚拟机,然后 (2) 浏览器访问您的应用,然后 (3) 断开互联网连接到虚拟机,然后(4) 再次浏览到您的应用,这次您处于离线状态。
    • 或者简单地将其部署到测试环境(例如生产环境的子域)。我建议在搞乱缓存清单之前完成您的应用程序。 它会在开发过程中导致许多问题,例如让您认为您的代码不起作用,而不是使用缓存中的旧版本
    • 好的,谢谢,我正在考虑真正的解决方案,非常感谢您向我提出这个建议
    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 2018-04-02
    • 2015-07-07
    • 2023-03-16
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多