我正在使用VB.NET(紧凑框架)构建移动应用程序,我想知道如何处理设备上的潜在离线交互。基本上,这些设备具有蜂窝和802.11,但可能仍处于离线状态(信号不佳等原因)。司机会在货车离开时扫描货箱,我希望立即更新新位置 - 如果有网络信号,则立即更新;如果处于离线状态,则排队处理后续更新。这让我想到了如何处理离线状态。
- 我是否要将尽可能多的数据缓存到设备中,以便在离线时使用?基本上,每个设备都会有(相关的)生产数据副本吗?还是最好在离线时禁用某些功能,以避免稍后进行同步的麻烦?我知道这是一个相当具体的问题,取决于我的应用程序,但我很想看看其他人是否采取了这种方法。
- 我是否应该构建应用程序本身,使其表现得好像它一直处于离线状态,将所有内容提交给本地队列的类所拥有(从根本上抽象出在线/离线的概念),然后由该类根据需要将内容提交给服务器?那么数据查找怎么办 - 如何以“半实况”方式处理?
- 还是应该让应用程序直接尝试在实时中向服务器提交请求,并在请求本身失败时处理它?我可以看到可能会让用户等待超时的潜在问题,但这是最可靠的方法吗?
我不是在寻找具体的解决方案,而只是想听听开发人员如何以最流畅的用户体验完成此操作,并提供一个how-to 或者需要考虑的内容之类的链接。感谢您对此提供的建议!