【问题标题】:EWS Mailbox group stream subscriptionEWS 邮箱组流订阅
【发布时间】:2020-09-07 05:57:03
【问题描述】:

我正在尝试创建一个项目来使用 EWS 服务收听 Exchange 房间邮箱中的事件。

如果我们需要监控 20k 个邮箱,那么我们需要创建 20k 个打开的连接。而不是 EWS 允许我们在每个组中创建最多 200 个邮箱的批处理连接。所以在监听20k邮箱的情况下,我们只需要100个连接就可以监听所有邮箱。

我只想知道这个邮箱分组使用了哪些标准? 我们可以在外部对这些邮箱进行分组吗?

我们可以通过将邮箱id传递给方法“GetUserSettings”来获取组信息

public GetUserSettingsResponse GetUserSettings(string userSmtpAddress, params UserSettingName[] userSettingNames);

感谢任何帮助

【问题讨论】:

    标签: c# exchange-server exchangewebservices


    【解决方案1】:

    如果您可以从 GetUserSettings 获取分组信息,那么连接上的所有 SMTP 都应该具有相同的组。我记得,分组信息仅在您使用 Exchange Online 时才重要,因此本地 Exchange 通常会发回空的分组信息,在这种情况下,您可以在连接上随意添加 SMTP 订阅,但须遵守200 个限制。 (我尚未验证这在 E2019 中是否仍然成立,但可能是因为分组信息似乎是在识别 O365 基础架构中的后端服务器。)

    顺便说一句,我可能应该提到,并且您可能已经看到,对于新代码,应该使用 Graph API 而不是 EWS。不过,在我看来,Graph 中的更改通知是以 EWS 中的推送通知为模型的,不是流式通知,因此使用 Graph 通知可能存在一些网络障碍。

    【讨论】:

    • 正确,因此您必须尊重分组返回的内容,并使用具有相同分组信息的 SMTP 订阅打开流连接。为了让它变得有趣,在几天的过程中,这些 SMTP 中的一些可能会转移到另一个组中。订阅会出错并且必须重新订阅,因此请务必在订阅之前为其执行新的 GetUserSettings()。
    猜你喜欢
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多