如何在IIS上配置Excel COM对象

时间:2012-02-03 05:20:45

标签: c# asp.net iis comobject

我在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进程无法销毁! 帮助!

1 个答案:

答案 0 :(得分:1)

过去我遇到过问题,在调用.Quit()后,excel进程仍然存在。我入侵的解决方案是找到正在运行的进程并将其删除。这可能不是最佳的,但我会分享我的经验。