摘要
在使用拉通知的方式监听exchange邮件的时候,无法监听到收件箱删除的邮件。最后通过调试发现,在删除收件箱邮件的时候,是将收件箱的邮件移动到了deleted item文件夹,会触发Moved事件,知道删除收件箱的过程,那么就好做了。
解决办法
关键代码块
._pullsubscription = ._service.SubscribeToPullNotifications(folderIds,,
IEnumerable itemEvents = (ItemEvent itemEvent (itemEvent != uniqueId = itemEvent.ItemId == ?
</span><span style="color: #0000ff;">if</span> (!<span style="color: #0000ff;">string</span><span style="color: #000000;">.IsNullOrEmpty(uniqueId))
{
Item item </span>= Item.Bind(<span style="color: #0000ff;">this</span>._service,<span style="color: #0000ff;">new</span><span style="color: #000000;"> ItemId(uniqueId));
Console.WriteLine(itemEvent.EventType.ToString());
</span><span style="color: #0000ff;">switch</span><span style="color: #000000;"> (itemEvent.EventType)
{
</span><span style="color: #0000ff;">case</span><span style="color: #000000;"> EventType.Moved:
Console.WriteLine(item.Subject);
</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">case</span><span style="color: #000000;"> EventType.NewMail:
Console.WriteLine(item.Subject);
</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">default</span><span style="color: #000000;">:
</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;
}
}
}
}</span></pre>
参考资料