我正在提高速度和巨大的HIS應用程序,有超過200點的WinForms資源的利用率和他們使用的EntityContext這樣的:如何自動處理fromClosed事件上的託管和非託管對象?
private void someMethod()
{
var context = new entityContext();
var qry = context.someTable.Where(x=>x.condition);//bring thousands of records
...
... do some thing with result
...
//EOF method. here is problem :
/*
* is context will be free all the records that brings to ram
* in the end of method without using context.Dispose()?
* i think NO!
*/
}
有沒有辦法找出所有的形式創建的EntityContext對象並處置它們?
如果我在winForms中使用關閉事件this.Dispose(true);
是否足以處理所有這些事件?
public class myForm : System.Windows.Forms.Form
{
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
/*
* TODO:
* find all entityContext objects and dispose them
*/
this.Dispose(true);
}
}
我沒有時間編輯所有代碼封裝所有entityContext
對象在using{}
條款或手動context.Dispose()
添加到他們或等..
我正在尋找一種方式來處理所有他們在OnClosed()
事件是這些可能嗎?
目前尚不清楚爲什麼你失去了他們的蹤跡,需要找回他們。或者,爲什麼你要等到用戶關閉窗口。 –