我们目前使用Xamarin.Forms和Azure App Service开发跨平台应用程序,并进行离线同步。但有时离线同步会丢失一些数据。调试非常困难,因为它不可重复。以下是我们如何做到这一点的想法。
你们认为这是Azure App Service中的一种可能情况吗?如果是,那么这个问题有什么好的解决方案吗?
情境:
- 客户端的数据记录版本:001。服务器中的数据记录版本:001.所以两者都是相同的。
- 用户(客户端)对数据记录进行更改。客户端版本的数据记录仍为001(因为Azure App Service管理版本号服务器端)。
- 用户将数据与服务器同步。已更改的数据记录已成功提交到服务器。服务器版本号现在为002.客户端版本号仍为001。
- 服务器告诉客户端更改的版本,以便客户端可以更新数据记录的版本号。但此时会发生网络错误。所以客户端永远不会获得新的版本号。
- 用户对数据记录进行更改并再次同步数据。现在发生同步冲突,因为客户端版本仍为001,服务器版本为002.在“服务器始终获胜”环境中,客户端数据记录被删除。
醇>