构建Exchange同步服务时,有多种方法可以确保一个保持同步。无论如何,都需要对文件夹进行初始同步。
在我们的情况下,我们需要将一组日历从Exchange同步到另一个系统。
我发现SyncFolderItems对于初始同步非常有效。进行定期同步以确保完全一致也很有效,但是当更改发生时它不会通知您。您将获得一种水印,可用于获取两个同步之间的差异。
我发现Push Notifications是完成同步的一种真正巧妙的实时同步方法,但是当您需要重新订阅时,可以使用水印来确保您没有错过任何事物。
题
现在,如果通知出现问题,并且我需要确保日历一致,那么我将使用SyncFolderItems方法来恢复同步,但是我需要传递给该方法的水印与我想要的水印有所不同从NotificationService获取。有没有办法告诉SyncFolderItems我已经处理了所有水印,并且需要在那之后发生的更改?
要么
我还应该如何重新整合?
最佳答案
我当前的解决方案是使用syncfolderitems
检索到目前为止的所有更改,然后使用推送订阅进行sybscribe。收到更改通知时,我再次使用该方法的最后一个水印运行SyncFolderItems
。
这样,我永远不必依赖推送通知订阅,而且我始终可以确保我已收到所有更改。
关于c# - 结合SyncFolderItems和PushNotifications,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18235817/