Excel应用程序在内存中不断增长
我在IIS上有一个ASP.net应用程序。 在这个程序中,我创build了一个Excel应用程序
using Excel = Microsoft.Office.Interop.Excel; public Excel.Application ExlApp; // public Excel.Workbook ExlWb; // public Excel.Worksheet ExlWs;
在申请工作中,我创build了一个新的工作簿,最后,我销毁了我的对象:
GC.Collect(); GC.WaitForPendingFinalizers(); Marshal.ReleaseComObject(ExlWs); ExlWb.Close(Type.Missing, Type.Missing, Type.Missing); Marshal.ReleaseComObject(ExlWb);
问题:在工作期间,EXCEL进程正在内存中成长,我怎样才能closures工作簿?
也许你应该看看用OpenXML处理来取代Excel自动化。 自动化办公应用程序服务器端是不受支持的scheme:
http://support.microsoft.com/kb/257757
“Microsoft目前不推荐,也不支持从任何无人值守的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)中自动化Microsoft Office应用程序,因为Office可能performance出不稳定的行为, /或Office在此环境中运行时出现死锁。“