syncFolderHierarchy结果在Exchange版本之间有所不同(配置?)

时间:2014-09-24 14:33:49

标签: java exchange-server exchangewebservices

前言:来自微软论坛的Crosspost:http://social.msdn.microsoft.com/Forums/office/en-US/47d1167b-24d0-43ed-b28b-21d8d82570a1/syncfolderhierarchy-differs-between-exchange-versions?forum=exchangesvrdevelopment

我一直在测试EWS的syncFolderHierarchy方法来同步来自交换的更改。我的开发测试都是使用一个Exchange 2013版本完成的。我注意到了这种行为:

当X下的文件夹结构发生更改时,为文件夹X调用syncFolderHierarchy会更改同步状态。

在X下的子文件夹*中添加/删除邮件时,调用文件夹X的syncFolderHierarchy会更改同步状态。

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

因此对于2010(我已经设置的那个):当在X下的子文件夹*中添加/删除消息时,为文件夹X 调用syncFolderHierarchy不会更改同步状态。

这是一个很大的问题,因为在使用2013进行测试时,我认为如果要移动消息,syncFolderHierarchy会更改同步状态。如果发生这种情况,我会在每个文件夹上调用syncFolderItems以查找更改的来源。如果我只是通过调用syncFolderHierarchy无法知道是否有任何项目更改,那么每次我都必须检查每个文件夹以检查是否有任何更改。这听起来很糟糕,会削弱我的申请。

所以最后我的问题!耶

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

最后,如果我无法做任何事情来让2010版本像2013一样表现得很好,那么在不通过所有文件夹的情况下同步的最佳方法是什么?

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

编辑:了解syncFolderHierarchy的实际正确行为会很有帮助。行为是否正确于" 2010"或者" 2013"我描述的场景?

1 个答案:

答案 0 :(得分:0)

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