我有一個託管在IIS中的網站。 我的應用程序是關於寫入和從Excel文檔讀取數據的。在IIS中託管asp.net網站時清潔Com組件
當我從VS運行應用程序時,我總是看到只有一個EXCEL.exe 但是當我在IIS中託管相同的應用程序時,爲其創建一個Excel對象並在任務管理器中顯示,因此,有時我的網站停止響應。
下面是我的代碼
try
{
xlApp = new app.Application();
xlWorkBooks = xlApp.Workbooks;
xlWorkBook = xlWorkBooks.Open(FilePath, missing, false, missing, missing, missing, true, missing, missing, true, missing, missing, missing, missing, missing);
xlWorkSheet = xlWorkBook.Worksheets.get_Item(index);
//code …………………………….
xlApp.DisplayAlerts = false;
xlWorkBook.Save();
boolWriteSuccess = true;
xlApp.DisplayAlerts = true;
}
Catch()
{
}
finally
{
GC.Collect();
GC.WaitForPendingFinalizers();
Marshal.FinalReleaseComObject(xlWorkSheet);
Marshal.FinalReleaseComObject(xlWorkSheets);
xlWorkBook.Close(Type.Missing, Type.Missing, Type.Missing);
Marshal.FinalReleaseComObject(xlWorkBook);
xlWorkBooks.Close();
Marshal.FinalReleaseComObject(xlWorkBooks);
if (xlApp != null)
xlApp.Quit();
Marshal.FinalReleaseComObject(xlApp);
}
這裏是任務管理器的屏幕截圖時,網站在IIS
主辦我要清理從任務管理器中的EXCEL.EXE總是有的,但我怎麼樣無法清洗。 請在這方面幫助我。
這是從ASP.NET或其他服務器技術使用Office互操作一個可怕的想法後創建新EXCEL.EXE 。這些API被編寫用於桌面應用程序,用於自動化Office(一套桌面應用程序)。服務器應用程序在許多方面有所不同,因此在其中使用Office Interop是非常非常糟糕的主意。它也不受Microsoft的支持,並可能違反您的Office許可證。請參閱[服務器端自動化Office的注意事項](http://support.microsoft.com/kb/257757) –
是的,我轉移到打開XML,感謝您的建議。 – Ram