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

C# 在远程计算机上删除项目时,Outlook中未激发BeforeItemMove事件,c#,outlook,exchange-server,outlook-addin,C#,Outlook,Exchange Server,Outlook Addin,我正在开发一个outlook外接程序,在该程序中,当从草稿中删除某个项目时,将触发一些事件。因此,当我从机器上的草稿中删除文件时,将触发BeforeItemMove事件 但有趣的情况来了。此外,我还有一个虚拟机,在那里我安装了outlook并登录到同一个帐户。所以我的草稿也在那里同步。当我在VM上删除草稿时,一段时间后,草稿也会在我的系统上删除。但是这次它不会在我的本地机器上触发BeforeItemMove事件。我错过了什么?它甚至依赖于交换吗?或者是我应该订阅的文件夹更新的新事件?下面是我的代

我正在开发一个outlook外接程序,在该程序中,当从草稿中删除某个项目时,将触发一些事件。因此,当我从机器上的草稿中删除文件时,将触发
BeforeItemMove
事件

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

    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)
{

...

}
另外,我还有一个对文件夹对象的引用,因此这不是问题所在。

据我所知,该事件不应在其他机器上触发。当由于用户操作或通过程序代码将要从文件夹中移动或删除项目时,将触发该命令。应针对本地Outlook实例运行代码


另外,请确保在全局范围内声明源对象,以防止垃圾收集器对其进行扫描

是否有任何方法可以知道在更新文件夹时是否移动了我的项目?请尝试处理该事件。另外,您可以考虑在每次与服务器同步之后保存项目列表并检查它们,但是,如何知道文件夹何时同步?有任何事件吗?即使FolderChange事件也是由于用户操作和程序代码而触发的!:/