Exchange Web 服务通知

Posted

技术标签:

【中文标题】Exchange Web 服务通知【英文标题】:Exchange Web Services Notifications 【发布时间】:2011-05-27 13:29:12 【问题描述】:

我需要为我的应用程序编写一个 Exchange 集成块。每当服务器上的任何 Exchange 帐户创建联系人、任务、约会等时,我希望我的应用程序接收通知,以便它可以在应用程序中创建等效对象。

通过查看 EWS 托管 API 以及较低级别的 Web 服务 API,您似乎只能订阅整个用户的邮箱或该邮箱中的子文件夹。我的应用程序有什么方法可以简单地订阅服务器上的所有邮箱吗?

谢谢你, 泰德兹

【问题讨论】:

【参考方案1】:

不,Exchange 不支持“所有邮箱”通知。而且您真的不想订阅所有通知 - 想象一下您将从 1000 多个邮箱 Exchange 服务器收到的通知数量。 在公共文件夹的情况下,您不能订阅商店范围内的通知;就像它的架构方式一样。 在更一般的注意事项上,不要使用事件或通知进行同步 - 通知可以并且在重负载下被丢弃。 有官方支持的 API(Active Sync,ICS)。充其量,通知可以用作您的代码必须尽快执行同步的提示。

【讨论】:

只是想指出 Exchange 将捆绑通知。因此,如果在短时间内发生 100 个事件,您可能只会收到少数通知,每个通知中包含多个事件。然后,您将循环确定事件类型并从那里开始。 我很好奇你说通知会在负载过重的情况下丢失。据我所知,通知会在 CAS 上保留多久(无论何时发生奇怪的事情都等待您重新连接),并且只有在 CAS 向您发送通知并且您没有在特定时间内回复时才会被丢弃.很好的答案。 +1 我明白了。这将是一个订阅通知的生产 Web 应用程序服务器,而不是移动设备,所以这就是为什么我认为负载不会太大。但是,如果它们根本不可靠,那么使用它们就没有任何意义。我不认为有办法进行全面同步?听起来 ActiveSync/ICS 是针对移动设备的,并且仍然一次只针对一个邮箱。 @Tedderz:只要您的应用程序正确处理通知,通知就非常可靠。如果 CAS 向您发送通知(推送或拉取)并且您没有在特定时间内回复,那么您将失去订阅。此外,考虑到我们不知道 Dmitry 的要求是什么,“可靠”一词非常模糊。最后,在您关闭 EWS 通知之前,您应该对其进行测试,看看它是否满足您的需求。

以上是关于Exchange Web 服务通知的主要内容,如果未能解决你的问题,请参考以下文章

EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒

易宝典文章——玩转Office 365中的Exchange Online服务 之二十五 配置出站垃圾邮件策略通知

需要一种使用 EWS Web 服务 (SOAP) 查找 Exchange 产品版本的方法

EWS(Exchange Web 服务)出现未经授权的错误

Exchange Web 服务连接失败

使用Exchange Web服务API