文檔here指出爲什麼需要EndExecuteNonQuery()?
開發商必須調用 EndExecuteNonQuery方法完成 操作。
我一直沒有找到一個很好的理由,爲什麼這是,或者什麼結果不叫EndExecuteNonQuery
是。
任何洞察,如果它不被稱爲會發生什麼?我不想阻止它,有沒有辦法讓它在AsyncCallback
中被自動調用?
文檔here指出爲什麼需要EndExecuteNonQuery()?
開發商必須調用 EndExecuteNonQuery方法完成 操作。
我一直沒有找到一個很好的理由,爲什麼這是,或者什麼結果不叫EndExecuteNonQuery
是。
任何洞察,如果它不被稱爲會發生什麼?我不想阻止它,有沒有辦法讓它在AsyncCallback
中被自動調用?
這會做這樣的事情:
所以,是的:做
根據定義,這樣的異步調用不能在使用塊中進行,以確保連接已關閉。因此,調用EndExecutexxx是必要的。
綜觀反射器的代碼,我們可以看到在關閉了EndExecuteNonQuery
連接的跟蹤:
SqlDataReader reader = this.CompleteAsyncExecuteReader();
if (reader != null)
{
reader.Close();
}
EndExecuteNonQuery不會關閉連接... – 2010-11-11 23:36:52
有一點似乎做到這一點,請參閱我的更新。 – Aliostad 2010-11-12 00:36:27