我正在捕捉一个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