【问题标题】:Offline cache navigation when internet is not available互联网不可用时的离线缓存导航
【发布时间】:2012-04-12 11:23:32
【问题描述】:

我正在使用 ASP.NET MVC 3 创建一个 Web 应用程序,并且我希望仅在 Internet 不可用时启用对 WebPage 的脱机访问。

我有一个问题:

  1. 我在 ASP.NET MVC3 中找到了很多关于缓存的教程(例如Official Site),但是如果网络连接可用,我如何使缓存内容无效并相应地更新缓存内容?因此,我希望用户能够在互联网连接正常的情况下浏览在线网站,如果互联网连接不可用,则可以浏览网站的缓存版本。 PS。我不确定缓存是否适合解决此类问题。

【问题讨论】:

  • 您提到的链接是服务器端缓存。你想做 HTML5 离线缓存:html5rocks.com/en/features/offline
  • 我在官方网站上阅读了这个例子,它不仅仅是服务器缓存。您可以指定缓存内容的位置,无论是服务器端、代理还是客户端。
  • 当客户端完全离线时,这不是您想要的缓存类型。例如:内容(图片、css、javascript)可能不可用。
  • hm.. 那你有什么建议呢?使用清单?并检查连接性?
  • 或者使用清单中的 Fallback 部分在设备离线时显示一个特殊的离线页面。另一篇文章:diveintohtml5.info/offline.html

标签: asp.net html asp.net-mvc asp.net-mvc-3 razor


【解决方案1】:

意大利腊肠,

我一直是looking for a solution for a similar kind of problem。到目前为止,我可以想到下面的设计来实现你所需要的。我不确定这是否值得痛苦。您的应用程序所需的所有资源都需要通过客户端的资源管理器。给定资源 id 的资源管理器将在联机时从服务器获取内容并将其存储在 localStorage 中,而在脱机时将使用从 localStorage 中最后获取的数据。这些对于图像来说很容易,因为可以将其存储为 Data-Uri,但没有考虑其他资源。

可能适用于为这些提供支持的脚本应由应用清单缓存,而要通过服务调用检索的数据和图像可以通过资源管理器。但我还没有真正找到执行上述操作的任何库/框架:(

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 2021-03-18
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    相关资源
    最近更新 更多