0
我正在使用EWS API連接並從Exchange 2007服務器檢索郵件,該工作正常。現在我想要獲得拉通知。我找到了一個例子here,這是我曾嘗試:EWS API:如何獲取拉通知?
public IEnumerable<ItemEvent> GetPullNotifications(FolderId folderId)
{
PullSubscription subscription = Service.SubscribeToPullNotifications(new FolderId[] { folderId }, 5, null, EventType.NewMail, EventType.Created, EventType.Deleted);
return subscription.GetEvents().ItemEvents;
}
public void CheckPullNotifications(object source, ElapsedEventArgs e)
{
Console.WriteLine("Check...");
IEnumerable<ItemEvent> itemEvents = ewsClient.GetPullNotifications(WellKnownFolderName.Inbox);
foreach (ItemEvent itemEvent in itemEvents)
{
switch (itemEvent.EventType)
{
case EventType.NewMail:
MessageBox.Show("New mail: " + itemEvent.ItemId.UniqueId);
break;
case EventType.Deleted:
MessageBox.Show("Mail deleted: " + itemEvent.ItemId.UniqueId);
break;
}
}
return;
}
//...
Timer myTimer = new Timer();
myTimer.Elapsed += new ElapsedEventHandler(CheckPullNotifications);
myTimer.Interval = 1000;
myTimer.Start();
但是,我從來沒有得到上面的開關,當我把一個斷點。我發送了一些郵件並刪除了一些,沒有任何反應。
任何想法,爲什麼這是行不通的?或者還有其他方法可以獲取拉通知嗎?
是對範圍之外定義訂閱? – 2017-01-10 22:56:41