0

Я использую веб-службы Exchange (Exchange Server 2010) для синхронизации календаря Outlook с моим приложением. Я реализовал уведомления EWS Push для обращения к моему приложению, когда события создаются, изменяются, удаляются выходят пользователи. Я достиг этого, подписав учетные данные электронной почты пользователя с помощью EWS.Найти неподписанный идентификатор подписок с веб-служб Exchange

Клиентское приложение должно отправлять ответы OK на сервер всякий раз, когда он получает обратные вызовы с сервера. Если в течение некоторого времени нет ответов OK от клиентского приложения, конкретная подписка будет автоматически отписана.

Если клиент недоступен в течение некоторого времени по какой-либо непредвиденной причине, мне нужно подписаться только с подписчиками, а не подписываться на всех пользователей.

Моя проблема теперь в том, как получить отписавшихся пользователей/Или подписки Идентификатор из EWS? Я не мог найти ничего полезного в этом документе MSDN.

Любой знает?

MSDN Справочник enter link description here

ответ

1

Я считаю, что единственный способ сделать это, чтобы использовать StatusEvent (я называю это сердцебиение). Когда вы подписываетесь, вы устанавливаете параметр, указывающий, как часто EWS отправляется POST на ваш Push HTTP-прослушиватель. (Я использую 3 минуты - YMMV.) Итак, через 3 минуты (плюс немного лишний, чтобы быть уверенным), если вы не слышите от EWS, либо StatusEvent, либо какое-то другое «реальное» событие для подписки, тогда вы следует повторно подписаться для этого пользователя.

+0

Спасибо. Да, я также думал использовать событие состояния для регистрации отметки времени. И если я не мог услышать больше 3 минут от EWS, тогда мне нужно подписать его снова с конкретным пользователем. Но мне интересно почему EWS не поддерживает ссылки на id отписки? Потому что теперь он поддерживает подписанные идентификаторы, чтобы он мог перезвонить клиенту. – Thabo

+1

Я думаю, что это всего лишь вопрос сохранения ресурсов. Если он не может отправить вам уведомление после 4 попыток, он отказывается от вас и переходит к тем, с кем он может связаться. Имейте в виду, что серверы клиентского доступа несколько ненадежны - я видел много случаев, когда они выходили из строя или иным образом отказывались от подписки. С Exchange Online он становится сумасшедшим. Даже с такими вещами, как «Потоковые уведомления», ответственность за приложение (то есть ВАША) заключается в обнаружении, когда подписка может не получить ожидаемого результата и повторно подписаться. – pjneary

 Смежные вопросы

  • Нет связанных вопросов^_^