Outlook互操作引用漏洞的一个特例

时间:2015-05-13 08:23:08

标签: c# outlook office-interop

即使经过我的最大努力,我仍然会泄漏互操作性引用,这显然是因为Outlook没有自行关闭。我已经将问题减少到尽可能小的样本并确定了错误的行,你能发现我缺少的东西吗?

FinalReleaseComObjectSafe接受一个对象,如果它不为null,则调用System.Runtime.InteropServices.Marshal.FinalReleaseComObject(o)。

<?php wp_nav_menu( array( 'theme_location' => 'main-menu', 'container'=>false, 'menu_class'=> 'your_class_name' ) ); ?>

1 个答案:

答案 0 :(得分:1)

使用Application类的Quit方法关闭应用程序。您是否在Outlook中运行任何加载项?

首先,我建议使用 ReleaseComObject 方法。如果任何其他人继续使用引用/释放的对象,FinalReleaseComObject可能会引入新的错误。无需使用GC的方法来强制刷堆。 Systematically Releasing Objects文章声明如下:

  

完成使用后,使用System.Runtime.InteropServices.Marshal.ReleaseComObject释放Outlook对象。然后在Visual Basic中将变量设置为Nothing(C#中为null)以释放对该对象的引用。

您何时何地运行代码?