我正在捕捉一個SQL異常,而不是重新拋出它。這似乎意味着連接不會按照我的預期返回到池中。這可能嗎?ADO.NET有趣的連接池行爲時,埋葬SQL異常
using (IDbCommand paymentCommand = this.Connection.CreateCommand())
{
try
{
//database stuff
}
catch (SqlException ex)
{
//LOG CALL
}
}
爲什麼你期望的連接,在這種情況下返回到池?你沒有明確地關閉/處理它,並且它沒有包含在「using」塊中。 – LukeH 2012-04-27 12:50:37
你應該向我們展示你正在初始化和關閉連接的代碼(using-statement?)。通常,使用語句不僅在發生未處理的異常時調用dispose,而且始終如此,所以您的問題還不清楚。 – 2012-04-27 13:03:20