-2
我遇到了一个经典场景,在.NET中创建Word COM对象时(通过Microsoft.Office.Interop.Word程序集),WinWord进程不会退出,即使我正确关闭和释放物体。退出方法不杀死WINWORD进程
下面是我的代码:
// Quit Word and release the ApplicationClass object.
if (oWordApp != null)
{
oWordApp.Quit(ref missing, ref missing,
ref missing);
oWordApp = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
为什么我有这个问题的任何想法?尽管我本地没有这个问题。只在生产服务器上。
水晶球说:“不要将调试版本部署到生产服务器”。 –
您**不能**从服务器环境运行Word。使用不同的技术重新设计您的应用程序。这是一个等待发生的技术性灾难,并且(取决于您的用户是谁),这可能违反了您的Office许可证。 Word经过设计和测试,可以在控制台与人交互的环境中运行。它会在非交互式服务中真正发生崩溃和不可预测的情况。请参阅http://support.microsoft.com/en-us/kb/257757。另外,[this](http://stackoverflow.com/a/30665967/2230)是已经涵盖这个的很多很多SO答案之一。 –