C# SqlConnection.ServerVersion关闭后异常()
我打开一个C# SqlConnection.ServerVersion关闭后异常(),c#,asp.net,.net,C#,Asp.net,.net,我打开一个SqlConnection SqlConnection Conn = new SqlConnection(...); Conn.Open(); ... Conn.Close(); Conn.Dispose(); //debugger breakpoint 当我在调试器中查看此断点时,Conn.ServerVersion抛出Sql异常: 连接关闭 当然,我关闭了连接,我应该这样做,但是这个异常只是一个可以忽略的东西吗?或者,如果我想避免出现这个异常,我应该采取不同的做法吗?除了保持它
SqlConnection
SqlConnection Conn = new SqlConnection(...);
Conn.Open();
...
Conn.Close();
Conn.Dispose();
//debugger breakpoint
当我在调试器中查看此断点时,Conn.ServerVersion
抛出Sql异常:
连接关闭
当然,我关闭了连接,我应该这样做,但是这个异常只是一个可以忽略的东西吗?或者,如果我想避免出现这个异常,我应该采取不同的做法吗?除了保持它的开放性,我还需要做什么
我的理解是我的代码中没有任何异常,但我可能错了。(我是新来的)你实际上没有问题 正如您在问题中所注意到的,您无法从关闭的连接获取服务器版本 当您在调试器中查看该属性时,将因此得到一个异常
只要您不尝试在实际代码中从关闭的连接访问它,您就完全可以了。只要在处理完连接对象后避免检查它即可。(“医生,当我这样做的时候会很痛…”“那么就停止这样做吧!”)最简单也是最可靠的方法是使用
语句代替:
using (var conn = new SqlConnection(...))
{
conn.Open();
...
}
然后,conn
在处理后将超出范围。请注意,您不需要调用Close()
以及dispose,请注意局部变量的更常规名称