是否有可能不断从多个服务器获取EWS流式传输通知?

时间:2016-06-01 15:33:53

标签: push-notification exchangewebservices

我刚刚开始使用Office365,Exchange Online,EWS领域,我的任务是构建一个相当复杂的项目。

我想知道是否有可能制作一个等待Exchange(在线)服务器上的事件通知的应用程序,然后做一些事情呢? 更清楚的是,这是一个例子:管理员登录到我的应用程序,提供他的连接细节,然后应用程序开始监听(打开并保持与他的Exchange服务器连接)。一旦在他的组织中预订了房间,就会执行一项功能,因为我的应用程序会直接通知。 我有一部分代码连接到Exchange(在线)服务器,并通过使用凭据和发出请求在该服务器上执行某些操作。

所以问题是:我的应用可以无限期地与多个服务器的流媒体通知流保持连接吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

简短回答:是的。更长的答案:您需要仔细管理流媒体通知连接。

首先,尤其是O365,您需要提取每个SMTP地址的分组信息(GI)(在自动发现期间来自GetUserSettings),根据其GI对各种SMTP进行分组,订阅每个SMTP,然后打开连接对于那组订阅。 SMTP可以随时更改GI(例如,过夜),因此您可能必须取消SMTP订阅并重新发现以获取其新组,然后将其添加到另一个连接。

其次,根据您对特定服务器的连接数量,您可能需要模拟权限,除非您的用户将其SMTP凭据提供给您的应用。没有假冒的每个用户ID的最大连接数大约为20,而对于O365来说这是一个硬限制。

您没有提及您的要求中涉及的数字或订阅的持续时间。如果它在任何时候只有少数用户,或者您可以在短时间内取消订阅,那么这种复杂性可能会有些过分。

不幸的是,虽然MSDN上有大量可以搜索的文章,但没有关于流媒体通知的中心参考。

HTH