在一个项目里写了一个数据类,在类的构造函数里自动打开一个数字库连接,而同时在类的析构函数里,我用了一个conn.Close();这样在实例化类时,自动打开一个数据库连接,供类的其他方法使用。
代码如下:
public class SqlOperation
{
public bool IsConn{
get{return connFlag;}
}

public SqlOperation()
{
conn.ConnectionString=ConnStr;
try{conn.Open();}
catch
{
connFlag=false;
}
} ~SqlOperation()
{
try{conn.Close();}
catch{;}
}我的问题是,如果不显式的调用这个类的另一个包含conn.Close();语句的方法的话,数据库连接会不会随着类的使用完毕而自动关闭?
原来程序一直正常,但最近这个项目的服务器总是报这个错误:
System.InvalidOperationException: 超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
所以有些怀疑是不是我的想法错误了。还请大家指点。