我正在编写一个ASP.NET应用程序.在我的数据层中,在查询之前和之后正在打开和关闭sql连接.SqlConnection被保存为单个类的私有字段.类中的每个数据库调用都使用相同的结构:
conn.Open();
try
{
// database querying here
}
finally
{
conn.Close();
}
Run Code Online (Sandbox Code Playgroud)
然而,在非常罕见的情况下,我得到了例外情况'连接没有关闭.连接的当前状态是打开的.由于它很少来自代码的不同部分,因此无法重现该问题.我的应用程序中涉及一些线程,但新线程也会创建新的数据层类,从而创建新的连接对象.
我不明白如何使用上面的代码使连接保持打开状态.打开后是否应始终关闭连接,以免发生上述异常?