2016-03-25 1 views
1

Теперь я подписал push-уведомление для EWS, чтобы получать события Create или New mail, но иногда я не могу получить событие Heartbeat от EWS более одного часа.Как проверить, успешно ли я подписал подписку на уведомление EWS?

Итак, если я хочу проверить, успешно ли эти push-подписки подписки, есть ли какой-либо инструмент для его проверки?

Заранее благодарен!

ответ

1

Нет, нет способа перечислить текущие подписки Push на почтовый ящик, если вы успешно подписаны на уведомление Push, тогда вы получите ответ с подпиской и успехом статуса. Чтобы активировать push-уведомление, вам необходимо ответить на сообщения о сердечном ритме, которые будут содержать SubscriptionId (вы получите во время подписки), которые каждую минуту отправляются в https://blogs.msdn.microsoft.com/webdav_101/2014/04/17/ews-push-what-is-the-statusfrequency-for/ для получения подробной информации о частоте состояния. Если у вас есть доступ к серверу, тогда сервер будет регистрировать ошибки, если он не может успешно отправить push-уведомление

Как правило, с Push-уведомлениями проблемы с сервером, передающим ваш слушатель, заключается в том, что конечная точка не является надежной или доступной с сервера. Но подписка на сервер может исчезнуть без уведомления, если есть проблема с Сервером, поэтому вашему коду необходимо отслеживать отсутствие обновления статуса с сервера в качестве знака, возможно, проблемы с подпиской есть хороший пример https://blogs.msdn.microsoft.com/emeamsgdev/2011/08/19/ews-push-notification-example-application/.

Потоковые подписки могут быть лучше подходят для приложения push-уведомлений из клиентского приложения, поскольку он более гибкий, поскольку подключение к клиенту намного более гибкое, вы также можете легко проверить, доступен ли SubscriptionId с помощью запроса GetEvents и т. Д. Хотя, если ваш используя Office365, новые Webhooks в REST API являются гораздо лучшим общим подходом.

Приветствия Glen

+0

Действительно ценят за вашу помощь! – Vincent

+0

Сообщения Heart-beat не отправляются каждую минуту, они отправляются с более-менее StatusFrequency, по крайней мере, в моем случае, для O365 ... Основная проблема заключается в том, что они часто не могут биться сердцем, поэтому вам нужно контролировать его, используя некоторый механизм таймера, и нет способа узнать о статусе подписки. –

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