我在.NET中使用Office自动化。它留下了excel.exe程序。我知道这个问题 - 它是关于明确定义变量的。一旦定义,我可以正确地取消分配RAM,GC将清理它们。用于.NET的变量/ Ram查看器?
问题是,我有几千行代码需要通过。所以我想知道:.net(或第三方)中是否有某种实用程序能够向我显示一个我已经分配了RAM的变量列表?如果是这样,我将能够针对这些项目并专门取消分配它们。
感谢
瑞安
我在.NET中使用Office自动化。它留下了excel.exe程序。我知道这个问题 - 它是关于明确定义变量的。一旦定义,我可以正确地取消分配RAM,GC将清理它们。用于.NET的变量/ Ram查看器?
问题是,我有几千行代码需要通过。所以我想知道:.net(或第三方)中是否有某种实用程序能够向我显示一个我已经分配了RAM的变量列表?如果是这样,我将能够针对这些项目并专门取消分配它们。
感谢
瑞安
只是要清楚,你需要明确退出Excel您正在使用它通过自动化完成之后。如果你没有实例会继续运行,即使你的变量超出了作用域并且垃圾收集运行。我相信它退出()命令:
Excel.ApplicationClass excel = new Excel.ApplicationClass();
//do some work with Excel
excel.Quit();
我建议你这样做有一个try/catch /终于
Excel.ApplicationClass excel = null;
try
{
excel = new Excel.ApplicationClass();
//do some Excel work
}
catch(Exception ex)
{
//log exception
throw;
}
finally
{
if(excel != null)
excel.Quit();
}