在离线时检索IMobileServiceSyncTable中的待推送条目

时间:2016-03-08 02:15:44

标签: azure azure-mobile-services

我们的移动客户端应用使用IMobileServiceSyncTable进行数据存储并处理客户端与服务器之间的同步。

我们已经看到的一种行为是,默认情况下,当客户端脱机时,您无法检索添加到表中的条目。只有当客户端表与服务器同步时(我们执行显式PushAsync然后执行PullAsync)才能检索所述条目。

任何人都知道改变此行为的方法,以便移动客户端可以检索离线时添加的条目吗?

我们目前的解决方案:

  1. 检查新条目是否已推送到服务器

  2. 如果没有,请将条目保存到单独的本地表

  3. 当显示表的列表时,我们从两个表中提取:sync table和regular local table。

  4. 将常规本地表中的条目与重复项同步表中的条目进行比较。

  5. 删除重复项

  6. 加入列表,订购并向用户显示。

  7. 谢谢!

1 个答案:

答案 0 :(得分:1)

绝对不会发生这种情况(在我的简单测试中并不是这样)。我怀疑Id字段存在问题 - 也许你正在生成它并且存在冲突?

如果您可以在https://github.com/azure/azure-mobile-apps-net-client/issues上打开GitHub问题并共享一些代码(通过测试存储库),我们可以进一步调试。

一个想法 - 而不是让服务器生成Id,使用Guid.NewGuid()。ToString()生成Id。然后,服务器将接受此作为新ID。