我在.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();
}