0

IIS に ASP.NET アプリがあります。このアプリケーションでは、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 プロセスを破棄できませんでした。ヘルプ!

4

1 に答える 1

1

過去に、.Quit() を呼び出した後も Excel プロセスが固執するという問題がありました。私がハッキングした解決策は、実行中のプロセスを見つけて強制終了することでした。これは最適ではないかもしれませんが、私の経験を共有したいと思います。

于 2012-02-03T06:17:01.847 に答える