1

У меня есть Exchange на Office365 и локальный Exchange 2010, оба из которых я использую для связи EWS. Когда я выдаю запрос в Exchange на Office365, я возвращаю ответ в определенном формате, этот формат отличается от содержимого, которое я получаю с локального Exchange 2010.Office365 Exchange и Exchange 2010 дают разные ответы на одну и ту же операцию getEvent

В частности, у меня есть уведомления о запуске и запуске. Каждую минуту я выдаю запрос GetEvents для получения событий, которые были созданы/изменены/удалены со времени последнего уведомления. Проблема в том, что когда я изменяю событие в календаре, я получаю уведомление о модифицированном событии, но я получаю несколько из них, а также получаю уведомление о том, что событие создано, но нет, только одно событие было изменено ,

Итак, почему EWS отправляет ответ с несколькими измененными объектами и единственным созданным объектом.

Это только проблема при изменении события, создание элемента отлично работает.

Также есть ли какие-либо другие специфические проблемы, которые необходимо учитывать при обращении с уведомлениями?

ответ

0

Иногда я хочу, чтобы документация Exchange не была такой плохой.

Причина, по которой вы получаете много элементов в одном событии, состоит в том, что событие также содержит родительскую папку элемента, который был изменен, поскольку большинство вещей в Exchange происходит на уровне папки. С учетом сказанного вы получаете 2 типа объектов буквально ItemEvent и FolderEvent. Вы можете фильтровать их с помощью linq некоторого оператора if.

lstCreatedContactIds = From e In  pArgs.Events.OfType(Of ItemEvent)() 
          Where e.EventType = EventType.Created 
          Select e.ItemId