asp.NET 数据链接池已满,如何优化代码?

yagas 2005-10-07 07:10:15
含有以下代码的页面,刷新五次之后便会报错:
------------------------------------------------------------------------------------------
超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。

源错误:


行 23: tSqlComm.Connection = tSqlConn;
行 24: tSqlComm.CommandText = "select ID, className, parentID from AucClass where ID in("+ channdIDs +") order by orderBy asc";
行 25: tSqlConn.Open();
行 26:
行 27: SqlDataReader tmp_DataReader = tSqlComm.ExecuteReader();


源文件: G:\mysite\mall\include\public.aspx 行: 25
------------------------------------------------------------------------------------------
/*########## 代码 #################*/
private string channeldList(string channdIDs){
string list_str = "<ul>";

SqlConnection tSqlConn = new SqlConnection(connStr);
SqlCommand tSqlComm = new SqlCommand();
tSqlComm.Connection = tSqlConn;
tSqlComm.CommandText = "select ID, className, parentID from AucClass where ID in("+ channdIDs +") order by orderBy asc";
tSqlConn.Open();

SqlDataReader tmp_DataReader = tSqlComm.ExecuteReader();
while(tmp_DataReader.Read()){
list_str += "<li>"+ tmp_DataReader["className"] +"</li>\n";
}

list_str += "</ul>";
return list_str;
tmp_DataReader.Close();
tmp_DataReader = null;

tSqlConn.Close();
tSqlConn = null;
tSqlComm = null;
}

请问在怎么解决?
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
moodboy1982 2005-10-07
  • 打赏
  • 举报
回复
用close()关掉了,还要tSqlConn=null干嘛?
ChengKing 2005-10-07
  • 打赏
  • 举报
回复
这些去掉:
tmp_DataReader = null;
tSqlConn = null;
tSqlComm = null;
只Close()方法就够了

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧