SyncFolderItems多个邮箱

时间:2015-10-03 10:02:26

标签: c# exchangewebservices

我有一个带有模拟自动曝光功能的Windows服务。 此服务已经为每个邮箱提供了流式订阅(按亲和性分组),工作正常(它接收事件)。

我现在要做的是处理服务未运行时的情况。因此,当服务启动时,我需要检查所有邮箱是否有“遗漏”项目。

你知道怎么做吗?

对于我可以调用的单个邮箱(使用syncstate)

exchangeService.SyncFolderItems

我已经测试了一个邮箱,它也可以正常工作。 但是如何为特定邮箱执行此操作?我没有找到任何方法用邮箱参数调用SyncFolderItems。 我正在监控的文件夹可能是“自定义”文件夹(即特定名称)。

1 个答案:

答案 0 :(得分:0)

  
    

我现在要做的是处理服务未运行时的情况。因此,当服务启动时,我需要检查所有邮箱是否有“遗漏”项目。

  

SyncFolderItems应该可以正常工作,就像EWS中的几乎所有东西一样,它在Mailbox文件夹的上下文中工作。如果您使用EWS模拟,您只需通过每个SyncFolderItems调用上的正常模拟标头发送,您还应该在您的请求中设置x-anchormailbox标头(否则您可能在Office365上没有CAS服务器类型错误),但与流通知不同不需要担心亲和力,因为SyncState必须充当客户端的水印或复制状态标记。

  
    

我已经测试了一个邮箱,它也可以正常工作。但是如何为特定邮箱执行此操作?我没有找到任何方法用邮箱参数调用SyncFolderItems。我正在监控的文件夹可能是“自定义”文件夹(即特定名称)。

  

如果您有自定义文件夹,那么有点不清楚那么您需要在创建SyncFolderItem请求之前首先找到该文件夹​​的EWSId(使用FindFolder),如果它是默认文件夹(例如Inbox,SentItem等),那么只需使用WellKnowFolder枚举,您可以使用FolderId重载来指定您访问的邮箱。但是,如果您使用的EWS模拟不重要,因为邮箱上下文将来自您冒充的凭据。

干杯 格伦