Exchange Managed API: почему событие не вызывается при удалении элемента? - PullRequest
2 голосов
/ 30 июня 2011

Я использую подписки по запросу в api, управляемой Exchange, чтобы ловить вновь созданные, измененные или удаленные элементы. Он отлично работает для созданных или измененных встреч, но по некоторым причинам он не работает для удаленных элементов. Вот как я создал подписку:

PullSubscription subscription = m_exchangeService.SubscribeToPullNotifications(
           new FolderId[] { WellKnownFolderName.Calendar },
            1440,
            null,
            EventType.Created, EventType.Modified, EventType.Deleted);
            subscriptions.Add(usermail, subscription);

Нужно ли что-то настраивать взамен, чтобы это работало? Может ли это работать только для жестко удаленных встреч, а не для встреч, перемещенных в удаленную папку?

Ответы [ 2 ]

4 голосов
/ 30 июня 2011

Предметы перемещаются в корзину.Следовательно, вы не получаете уведомление об удалении.

Получите FolderId папки «Выбранные элементы», связавшись с ней посредством перечисления WellknownFolder.Затем сравните уникальный идентификатор этой папки с уникальным идентификатором цели события перемещения.

0 голосов
/ 04 сентября 2014

Когда я получил удаленный контакт, я получил событие Moved.Затем я должен сделать это, чтобы проверить, когда контакт удален:

switch (outlookEvent.EventType)
{
    case EventType.Moved:
        var folder = Folder.Bind(subscription.Value.EwsInstance, WellKnownFolderName.DeletedItems);
                            if (Equals(outlookEvent.ParentFolderId.UniqueId, folder.Id.UniqueId))
                            {
                                Console.WriteLine("Moved to DeletedItems " + outlookEvent.ItemId);
                            }

В случае встречи, я получил измененное событие, затем я хотел сделать какой-то код, но FolderId неDeletedItems, но календарь для этого ... Мне было бы интересно увидеть ваш код как единственный, который я вижу сейчас, это try / catch: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...