asp.net连接池超出

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:24:50
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

public static SqlConnection con = null;
public static SqlDataReader ExecuteReader(string sql)
{
try
{
con = new SqlConnection(ConnectionString);
cmd = new SqlCommand(sql, con);
if (con.State != ConnectionState.Open)
{
con.Open();
}
return cmd.ExecuteReader();
}
catch (Exception)
{
throw;
}
}

public static void CloseCon()
{
if (con.State == ConnectionState.Open)

你啊.封装一个类.有打开链接.关闭链接等等方法.

每次在业务类调用它们.这样儿不容易出错.

------------------

这个问题我确实是没出现过.也没遇到过..

其实无非就是哪哪开的不是时候.哪哪关的不是时候.所以你的系统构架必须清晰.