0

我得到的 EWS URL 如下:

var response = myAutodiscoverService.GetUserSettings(
                        "userA@domain.com",
                        UserSettingName.ExternalEwsUrl,
                        UserSettingName.InternalEwsUrl,
                        UserSettingName.EwsSupportedSchemas);

string settingValue;
if (response.TryGetSettingValue(UserSettingName.ExternalEwsUrl, out settingValue)
    || response.TryGetSettingValue(UserSettingName.InternalEwsUrl, out settingValue))
{
    // If ExternalEwsUrl is not returned in the response, 
    // we consider InternalEwsUrl for auto-discover
    string ewsurl = settingValue;
}

现在,我正在缓存我收到的这个请求,因为自动发现真的很慢。当这个 ewsurl 过期时会发生什么(因为假设用户的邮箱被移动到不同的端点)。为了实施失败机制来获取新的更新的 ews url,我应该期待什么错误?

编辑:我正在使用 ews url 订阅 EWS 上的新邮件事件,ExchangeService.SubscribeToPushNotifications所以我还有一个问题,假设如果在用户订阅通知后 ews url 发生了更改,我是否会收到该用户关于新邮件事件的通知我的应用程序的回调 url?

4

1 回答 1

0

我似乎记得 MSFT 的 ROT 是你应该每 24 小时重新自动发现一次,但我最近什么都没看到。至于推送通知:由于推送通知中有一个“心跳”功能,如果您连续错过两次心跳,可以肯定地说您应该取消订阅并重新订阅,为了安全起见,意味着重新订阅自动发现。当然对于 O365,由于 EWS URL 似乎(目前)总是相同的,重新自动发现不再是一个问题。

于 2017-12-06T02:57:05.463 回答