【发布时间】:2011-10-27 13:27:20
【问题描述】:
我正在编写一个需要 MSWord 文档解析器的应用程序。
我正在使用 Microsoft.Office.Interop.Word.Document 从文档中提取文本,但即使我使用 doc.Close() 文档,从 taskManager 我可以看到 winword.exe 没有被杀死,在解析了几十个文档之后,它会消耗很多资源。
close() 方法不对吗?
请帮助我并指出正确的方向,以正确终止这些进程。 =)
~~~更新~~~
感谢所有帮助。我使用 app.quit() 并运行了一个循环来检查进程并解决问题! =)
【问题讨论】:
-
这是垃圾收集器工作方式的副作用。您可能不会生成足够的垃圾来触发收集。在这种非常特殊的情况下,调用 GC.Collect + GC.WaitForPendingFinalizers 是可以的。
-
@Hans Passant 与垃圾收集器没有任何关系。他没有调用正确的清理方法。
标签: c# interop zombie-process