Я использую управляемый API EWS и C#.
Я хочу знать, можно ли определить, когда электронное письмо перемещается в другую папку.
Это то, что у меня есть до сих пор:
static void SetPullNotifications(ExchangeService service)
{
PullSubscription subscription = service.SubscribeToPullNotificationsOnAllFolders(
5, null,
EventType.Moved, EventType.Deleted, EventType.Copied, EventType.Modified);
GetEventsResults events = subscription.GetEvents();
foreach (ItemEvent itemEvent in events)
{
switch (itemEvent.EventType)
{
case EventType.Moved:
MessageBox.Show("Item Moved :" + itemEvent.ItemId.UniqueId);
break;
case EventType.Deleted:
MessageBox.Show("Item deleted: " + itemEvent.ItemId.UniqueId);
break;
case EventType.Copied:
MessageBox.Show("Item Copied :" + itemEvent.ItemId.UniqueId);
break;
case EventType.Modified:
MessageBox.Show("Item Modified :" + itemEvent.ItemId.UniqueId);
break;
}
}
}
Это отлично работает, если я ставлю точку останова на метод GetEvents()
, а затем перемещаю электронное письмо. Но без точки останова не работает. events
не содержит результатов.
Любые идеи ?