在远程计算机上删除项目时,在Outlook中未触发BeforeItemMove事件

我正在开发一个outlook加载项,其中有一些事件将在从草稿中删除项目时触发。 因此,当我从我的机器上的草稿中删除文件时,将触发BeforeItemMove事件。

但这里有一个有趣的案例。 另外我还有一个VM,我安装了Outlook并登录到同一个帐户。 所以我的草稿也在那里同步。 当我删除VM上的草稿时,一段时间之后草稿也会在我的系统上删除。 但是这次它不会在我的本地机器上触发BeforeItemMove事件。 我错过了什么? 它甚至依赖于Exchange吗? 或者是我应该订阅的文件夹更新的新事件? 以下是我的代码。

  Microsoft.Office.Interop.Outlook.Folder draftsFolder = null; draftsFolder = nameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderDrafts) as Microsoft.Office.Interop.Outlook.Folder; draftsFolder.BeforeItemMove += new Microsoft.Office.Interop.Outlook.MAPIFolderEvents_12_BeforeItemMoveEventHandler(BeforeItemMoveFromDrafts); 

事件方法是

 private void BeforeItemMoveFromDrafts(object Item, MAPIFolder MoveTo, ref bool Cancel) { ... } 

PS。 我也有一个文件夹对象的引用,所以这不是问题。

在我的理解中,不应该在另一台机器上触发BeforeItemMove事件。 当项目即将从文件夹中移动或删除时,无论是作为用户操作还是通过程序代码,都会触发它。 应该针对本地Outlook实例运行代码。

PS确保在全局范围内声明源对象,以防止它被垃圾收集器滑动。