C# 查找所有打开的SqlConnection

C# 查找所有打开的SqlConnection,c#,sql-server,.net-4.0,sqlconnection,C#,Sql Server,.net 4.0,Sqlconnection,我在另一台服务器上读写数据到Sql Server,因此我需要打开许多SqlConnection,我在读写完成后关闭它们,但有时我无法连接到服务器,但在重新启动服务器后一切正常,我想这是因为某些SqlConnection打开了,如果存在,有什么办法可以找到所有的吗?简短的回答是“没有”。唯一的方法是显式地添加自己的跟踪代码,但实际上您正在做的是冒着将跟踪代码保留更长时间的风险,另外,您可能会忘记在已经忘记关闭东西的两个位置添加跟踪代码 这里首选的“修复”方法是:不要担心关闭东西,而是开始使用它们。

我在另一台服务器上读写数据到Sql Server,因此我需要打开许多
SqlConnection
,我在读写完成后关闭它们,但有时我无法连接到服务器,但在重新启动服务器后一切正常,我想这是因为某些
SqlConnection
打开了,如果存在,有什么办法可以找到所有的吗?

简短的回答是“没有”。唯一的方法是显式地添加自己的跟踪代码,但实际上您正在做的是冒着将跟踪代码保留更长时间的风险,另外,您可能会忘记在已经忘记关闭东西的两个位置添加跟踪代码

这里首选的“修复”方法是:不要担心关闭东西,而是开始使用它们。如果每次触摸连接时都使用
using
,则不能忘记释放连接

using(var conn = whatever.GetOpenConnection()) {
    // ... do stuff
} // <=== here it will be disposed for us automatically, success or failure
  // and disposable includes Close()
使用(var conn=whatever.GetOpenConnection()){
//…做事

}//请发布连接代码。。。