Как я могу расположить Excel COM-объект на IIS - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть приложение ASP.NET на IIS. В этом приложении я использую Excel COM Object:

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 Ответ

1 голос
/ 03 февраля 2012

В прошлом у меня были проблемы с процессами Excel, которые зависали и после вызова .Quit (). Решение, которое я взломал, заключалось в том, чтобы найти запущенный процесс и убить его. Возможно, это не оптимально, но я поделюсь своим опытом.

...