我正在构建一个 asp.net (3.5) web 应用程序,想知道你是否知道我可以做的任何方式,以便有一些离线功能。
这是必需的,因为人们将能够在他们的设备上“安装”网络应用程序(例如使用 iPhone 上的“添加到主屏幕”功能),然后在离线时使用该应用程序;使用只会受到限制(此时也不需要服务器调用)。
这可以通过 .aspx 页面完成吗?
编辑- .manifest 添加:
CACHE MANIFEST
index.aspx
/logo.png
/main.css
/main.js
编辑号 2-
我们让它以一种方式离线工作;它在 safari 中工作,但我们不想在 safari 中使用它,我们希望它作为一个独立的应用程序。当我们尝试像这样运行它时,我们得到“无法连接到服务器错误”。这可以通过 .aspx 页面实现吗?
编辑号 3 -
我们已经使用 .html 页面使其工作,但还没有使用 .aspx
编辑号 4-
它现在正在工作,虽然我们不确定为什么!我们上周将 index.aspx 添加到 cache.manifest 的“网络”部分(上周没有用!)这可能有所帮助,但一旦我确定我会向您更新实际发生的情况!
感谢大家的帮助!
最佳答案
对于使用 ASP.NET 的脱机 HTML5 应用程序,请参阅link和link。
对于离线功能,有一些替代方案:
01 - 如果您需要在离线应用程序中存储少量数据,并且安全性不是大问题,您可以使用 HTML5 Web Storage(link、link、link、link、link,并查看CanIUse以了解浏览器版本支持)。
主要缺点是它缺乏安全性,基于键值(没有复杂的结构)并且存储大小有很大限制(大多数浏览器为 5MB)。
02 - 如果你需要更大的数据量,你可以看看 IndexDB( link , link , link 和 CanIUse )或 “10567915” 或 “Web ”,1954576 Sql ( link , link ) link和CanIUse用于浏览器支持)。
Web SQL 的主要缺点是 Firefox 和 IE 不支持它。此外,它已被 W3C 弃用。
IndexDB 很好(link),但似乎 ios 仍然不支持它(参见 canIUse)。
对于方法 1 和 2,您可以在 ASP.NET 应用程序 (link) 中制作响应式设计或专用移动网站。
03 -(更大的灵活性需要更多的努力)在您的 ASP.NET 应用程序和移动 native 应用程序中实现一个应用偶尔连接应用程序概念的 Web 服务(更多信息:link、link)
然后,您在依赖 Internet(例如循环线程)的移动应用程序中实现静默同步机制,该机制将通过 Web 服务访问 ASP.NET 应用程序来搜索更新。此同步机制将发送本地存储的数据并从 Web 服务中恢复对离线功能有用的数据。
希望能帮助到你。
关于asp.net - 构建具有离线功能的 ASP.Net Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18102002/