如果进程终止,是否需要调用Marshal.ReleaseComObject?

时间:2011-07-01 13:17:04

标签: .net com com-interop

我有一个控制台应用程序,可以通过COM互操作自动化另一个Windows应用程序。它使应用程序自动打开文件,拍摄屏幕截图然后退出。

我想知道如果我没有在实例化的有限数量的com对象上调用Marshall.ReleaseComObject,是否会有任何不良影响?调用release方法来清理对象似乎更简洁但在这种情况下是否真的有必要?

1 个答案:

答案 0 :(得分:2)

有必要吗?可能不是。但如果你不这样做,我几乎可以保证在某些时候会回来咬你。每当我使用一个未包装的COM对象时,我总是将它包装在try ... finally块中并在finally中执行ReleaseComObject

相关问题