在我从应用程序的模态窗口中打开此任务后,Outlook在模式窗口中打开任务

时间:2015-01-23 05:36:55

标签: c# outlook interop

我使用Display(true)方法(模态窗口)从我的应用程序中打开任务。关闭任务后,Outlook开始在模式窗口中打开此任务。但是,当我关闭我的应用程序时,Outlook开始在正常状态窗口中打开此任务。为什么会这样?如何处理这个问题?

2 个答案:

答案 0 :(得分:0)

尝试关闭并等待在finally语句中明确。

email.Close();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();

答案 1 :(得分:0)

当不再需要Outlook对象时,所有Outlook加载项都应系统地释放对Outlook对象的引用。未能系统地释放对Outlook对象的引用可能会阻止Microsoft Office Outlook正常关闭。

我建议使用Marshal类的ReleaseComObject方法。两次调用GC方法将达到.Net应用程序的性能并需要一些时间才能完成。因此,使用 System.Runtime.InteropServices.Marshal.ReleaseComObject 可在完成使用后释放Outlook对象。然后在Visual Basic中将变量设置为Nothing(C#中为null)以释放对该对象的引用。

您可以在MSDN中的Systematically Releasing Objects文章中了解更多相关信息。