我们的移动客户端应用使用IMobileServiceSyncTable
进行数据存储并处理客户端与服务器之间的同步。
我们已经看到的一种行为是,默认情况下,当客户端脱机时,您无法检索添加到表中的条目。只有当客户端表与服务器同步时(我们执行显式PushAsync然后执行PullAsync)才能检索所述条目。
任何人都知道改变此行为的方法,以便移动客户端可以检索离线时添加的条目吗?
我们目前的解决方案:
检查新条目是否已推送到服务器
如果没有,请将条目保存到单独的本地表
当显示表的列表时,我们从两个表中提取:sync table和regular local table。
将常规本地表中的条目与重复项同步表中的条目进行比较。
删除重复项
加入列表,订购并向用户显示。
谢谢!
答案 0 :(得分:1)
绝对不会发生这种情况(在我的简单测试中并不是这样)。我怀疑Id字段存在问题 - 也许你正在生成它并且存在冲突?
如果您可以在https://github.com/azure/azure-mobile-apps-net-client/issues上打开GitHub问题并共享一些代码(通过测试存储库),我们可以进一步调试。
一个想法 - 而不是让服务器生成Id,使用Guid.NewGuid()。ToString()生成Id。然后,服务器将接受此作为新ID。