Когда именно я должен обновить URL EWS при использовании управляемого API
Я получаю URL EWS, как показано ниже:
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, который я получаю с этим запросом в соответствии с рекомендациями, поскольку автообнаружение действительно медленное Что происходит, когда истекает срок действия этого ewsurl (скажем, почтовый ящик пользователя был перемещен в другую конечную точку). Какую ошибку следует ожидать, чтобы реализовать механизм отказа для получения нового обновленного URL-адреса ews?
Изменить: я использую URL-адрес ews, чтобы подписаться на новые почтовые события на EWS, используя ExchangeService.SubscribeToPushNotifications
Итак, у меня есть другой вопрос, предположим, что если URL-адрес ews был изменен после того, как пользователь подписался на уведомления, получу ли я уведомление для этого пользователя о новом событии почты на URL-адресе обратного вызова моего приложения?
1 ответ
Кажется, я вспомнил, что ROT от MSFT должен был автоматически обнаруживать каждые 24 часа, но я ничего не видел в последнее время. Что касается Push-уведомлений: поскольку в Push-уведомлениях есть функция "сердцебиения", если вы пропустите два сердцебиения подряд, можно с уверенностью сказать, что следует отменить подписку и повторно подписаться, что для безопасности означает повторную подписку. автораспознавание. Конечно, с O365, поскольку URL-адрес EWS (на данный момент) всегда остается одним и тем же, повторное автообнаружение не представляет особой проблемы.