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 プロセスを破棄できませんでした。ヘルプ!