我們最近發現了一個問題,當Outlook Exchange 2007連接丟失,然後恢復時,它不會觸發事件。如果attach a listener到Folder.Items.ItemAdd
事件,則Exchange在脫機切換到聯機後,該事件將斷開連接。爲了重現這一點 - 我們刪除了我們的以太網電纜,以模擬短暫的連接丟失。當Exchange失去連接時,Outlook事件不會觸發
如果無法保證Exchange連接發生故障時會觸發事件 - 尤其是在遠程辦公室運行時常見的事件,那麼確實會使構建插件變得困難。我們沒有使用緩存交換模式。
有沒有人對他們是否是解決方法有任何反饋,或者如何知道我們何時需要重新建立我們的事件監聽器?正在使用緩存交換模式的解決方案? 還是有certain events which you just can't use reliably?
There doesn't appear to be an event trigger for when Exchange connectivity is lost。也許唯一的解決方法是使用某種計時器來實現可靠的事件行爲。
public partial class ThisAddIn
{
Outlook.Items sentItems;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Outlook.Folder sentFolder = ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
sentItems = sentFolder.Items;
sentItems.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(SentItems_ItemAdd);
}
void SentItems_ItemAdd(object Item)
{ // breakpoint never hit after Exchange connectivity is lost
Outlook.MailItem mailItem = Item as Outlook.MailItem;
}
}