我希望在Finally语句块中关闭SqlConnection连接,因为using语句不能真正地关闭该连接且连接池会被填满。但是,由于在Finally语句块中无法访问conn对象,所以我不知道正确的关闭方法。
try
{
using (var conn = new SqlConnection(_dbconnstr))
{
//...
}
}
catch (Exception ex)
{
//...
}
finally
{
conn.Close //?!?!?!?!???
}
using
在内部实现上是一个try
/finally
块,其中Dispose在finally
块中调用。对于SqlConnection
来说,Close
和Dispose
是可以互换的。 - Damien_The_Unbeliever