我怀疑在我们的应用程序中使用的数据库连接并不总是关闭。我去看代码,我发现有一个DataProvider
类,它有SqlConnection
对象。连接在这个类的构造函数中打开,并关闭它的Dispose
方法(不要断定,我知道保持开放连接是邪恶的,它只是不是我的代码,它不是问题的关键)。该Dispose
方法来实现这样的:在Dispose方法中关闭数据库连接是否正确?
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
{
if (disposing)
{
if (_conn != null)
_conn.Close();
}
_disposed = true;
}
}
的问题是:
是否始终保证连接被关闭?
这段代码对吗?
我认为应该有_conn.Dispose()
叫 - 我是对的,它可能会影响不关闭连接(可能不是)?
如果您怀疑使用性能计数器进行检查确认。 – RichardOD 2009-06-19 08:05:05
要检查的关键值是NumberOfPooledConnections。 – RichardOD 2009-06-19 08:08:16