我在IIS上有一个ASP.NET应用程序。在这个应用程序中,我使用Excel COM对象:
using Excel = Microsoft.Office.Interop.Excel;
我使用这个对象:
public Excel.Application ExlApp;
//
public Excel.Workbook ExlWb;
//
public Excel.Worksheet ExlWs;
并像这样摧毁他们:
GC.Collect();
GC.WaitForPendingFinalizers();
Marshal.ReleaseComObject(ExlWs);
ExlWb.Close(Type.Missing, Type.Missing, Type.Missing);
Marshal.ReleaseComObject(ExlWb);
ExlApp.Quit();
Marshal.ReleaseComObject(ExlApp);
因此,它在Visual Studio 2008上正常工作。 但!当我仅在IIS上启动此应用程序时,Excel进程无法销毁! 帮助!
答案 0 :(得分:1)
过去我遇到过问题,在调用.Quit()后,excel进程仍然存在。我入侵的解决方案是找到正在运行的进程并将其删除。这可能不是最佳的,但我会分享我的经验。