2014-09-24 65 views
3

前言之间不同http://social.msdn.microsoft.com/Forums/office/en-US/47d1167b-24d0-43ed-b28b-21d8d82570a1/syncfolderhierarchy-differs-between-exchange-versions?forum=exchangesvrdevelopmentsyncFolderHierarchy结果Exchange版本(?配置)

我一直在测试EWS的syncFolderHierarchy方法同步从交换的变化。我的开发测试全部使用一个Exchange 2013版本完成。我已经注意到这个现象:

调用syncFolderHierarchy的文件夹X改变同步状态时,出现了X下

调用syncFolderHierarchy的文件夹X更改的文件夹结构的变化同步状态时,消息有已添加/从子文件夹*中删除*。

但是,在对Exchange 2010进行了更多测试之后,我发现了一个令人烦恼的问题,即文件夹结构更改会更改同步状态,但不更改文件夹本身。

所以2010年(一个我安装):为文件夹调用syncFolderHierarchy X 变化时,X下

已添加的消息/从一个子文件夹*删除的同步状态这是一个这是一个大问题,因为在2013年进行测试时,我的印象是syncFolderHierarchy会改变同步状态,如果消息会被移动。如果发生这种情况,我随后在每个文件夹上调用syncFolderItems以查找更改来自哪里。如果我只是通过调用syncFolderHierarchy无法知道是否有任何项目更改,那么每次都必须遍历每个文件夹,以检查是否有任何更改。这听起来很糟糕,并会削弱我的申请。

最后我的问题! Yay

2010年的配置/设置问题在这种情况下不像2013年那样表现如何?是否有需要更改的默认行为?

最后,如果没有任何事情可以使2010版本像2013年一样行事,那么在不通过所有文件夹的情况下同步的最佳方法是什么?

*通过子文件夹,我不是指直接从X中添加/删除,而是从X的子文件夹中,比如说X/Y/Z。将消息从Z移动到Y.

编辑:了解syncFolderHierarchy的实际正确行为将会有所帮助。在我描述的“2010”或“2013”​​情景中,行为是否正确?

回答

0

我无法说出您使用Exchange 2010和Exchange 2013获得的不同同步状态,但是一种解决方法是使用通知来触发您的同步呼叫。因此,例如,如果您订阅了NewMailEvents,通知将识别ParentFolderId,然后您只能同步该文件夹中的项目。在这两个主题中还有更多关于基于通知的同步:Notification subscriptions, mailbox events, and EWS in ExchangeMailbox synchronization and EWS in Exchange

+0

嗨咪咪。我不想在没有更多了解问题的情况下改变我的整个架构。你能澄清syncFolderHierarchy的“正确”行为吗?如果从多个子文件夹中添加/移动/删除邮件,顶级文件夹的同步状态是否会发生更改?我没有看到关于这一点的任何文件,我感到非常沮丧。 – 2014-09-24 21:37:22

+0

我可以联系你的团队中是否有人对此有更多了解? – 2014-09-24 21:52:38

+0

对不起,我试图成为事实,我不知道你遇到的2010年和2013年之间的差异。我回应了您是否有最佳方法进行同步而不通过所有文件夹的问题。我不再在这个团队中,所以我不能提供任何其他联系方式。对不起,希望我能帮到更多。 – 2014-09-25 05:01:46