我们为 Outlook 会议创建了一个 VSTO 插件。
作为其中的一部分,我们捕获事件SendEvent
的消息FormRegionShowing
:
_apptEvents.Send += new Microsoft.Office.Interop.Outlook.ItemEvents_SendEventHandler(_apptEvents_Send);
然后该方法_apptEvents_Send
测试几个属性并在适当的地方退出。
private void _apptEvents_Send(ref bool Cancel)
{
if (!_Qualified)
{
MessageBox.Show("Meeting has not been qualified", "Not Qualified Meeting", MessageBoxButtons.OK, MessageBoxIcon.Information);
chkQualified.Focus();
Cancel = true;
}
}
我们遇到的问题是某些用户的消息被发送了两次。一次是在发送会议时,第二次是在用户重新打开 Outlook 时。
我一直在寻找内存泄漏,认为某些东西可能没有被正确处理,并在所有 finally 调用中添加了显式对象处理,以尝试确保资源得到管理,但仍然在整个组织中不一致地获得功能。即我在开发过程中从未遇到过问题,在测试期间也没有其他开发人员遇到过。所有用户都是最新的框架 (3.5 SP1) 和 Outlook 修补程序。
有没有人对可能导致这种情况的原因有任何想法?
任何人可能有的任何想法都将不胜感激。