我必须使用哪种StoreTrackingOptions和StoreChangeEvent组合来检测任何Pull操作导致的本地记录的变化?
答案 0 :(得分:0)
我通过实现跟踪每个本地同步表上最后更新的时间戳的跟踪器解决了这个问题。当从服务器(Pull)同步更改时,对于每个有问题的表,我查询最新的时间戳并将其与我正在跟踪的时间戳进行比较。如果时间戳较新,我会更新我的跟踪时间戳,并知道该表有新的/更新的数据。
现在,我将它与在后台线程上执行的“预定”同步(使用await.Delay()的永不停止的循环)相结合。我正在使用MvvmCross,如果同步表有更新的记录(按照上面的描述),我会在Messenger上发布一条消息。订阅该消息的人可以更新他们的UI,但他们认为合适。
到目前为止,这个模型的效果非常好,因为前端更新没有与后端同步和后端同步相结合,这使得新数据可以更新UI而无需显式检查新数据。一种松散耦合的设置。