0

我在 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 进程无法被破坏!帮助!

4

1 回答 1

1

过去,我在调用 .Quit() 后也遇到过 excel 进程仍然存在的问题。我破解的解决方案是找到正在运行的进程并杀死它。这可能不是最佳的,但我想分享我的经验。

于 2012-02-03T06:17:01.847 回答