ASP.NET 2.0 警告, 求处理办法, 急急急。。。。

showlisy 2007-01-22 08:32:47
我的网站用asp.net 2.0 (C#) + SQL Server 2000, 服务器是Windows 2000,
可能是我的网站程序有漏洞,每天都有好警告, 把应用程序日志写满后,网站就打不开了。

警告内容如下
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

我原以为是数据库连接打开后没有关闭,第二次再去连接时出错,我就把所有连接在执行之前做了一个 判断,如果是连接状态就把它先关闭再执行连接操作。但还是不解决问题。

求高人指点。
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
macd004 2007-01-22
  • 打赏
  • 举报
回复
Scmd.ExecuteReader(CommandBehavior.CloseConnection);
SconnStr.Dispose()

加这个两句试试
showlisy 2007-01-22
  • 打赏
  • 举报
回复
SqlConnection SconnStr = new SqlConnection(sConnStr);
//设定数据库操作命令
string sSql = "select top 1 * from a_fdb where id="+T_id+" order by id desc";
SqlCommand Scmd = new SqlCommand(sSql, SconnStr);
SqlDataReader odr = null;
if (SconnStr.State == ConnectionState.Open)
{
SconnStr.Close();
}

SconnStr.Open();

try
{
//执行命令,获取数据流
odr = Scmd.ExecuteReader();
}
catch (Exception ex)
{
if (ex != null) Response.Write(ex.ToString());
}


if (odr.Read())
{
string canceltype = null;
T_title = odr["aname"].ToString();
T_wenhao = odr["whao"].ToString();
T_fbtime = Convert.ToDateTime(odr["ftime"].ToString());
if (T_fbtime <= Convert.ToDateTime("2005-05-01"))
{
T_memo = odr["mmo"].ToString().Replace("\n", "<br />");
}
else
{
T_memo = odr["mmo"].ToString();
}

canceltype = odr["stus"].ToString();
T_dianji = (int)odr["dji"];

switch (canceltype)
{
case "全文失效":
T_clue = "本文于" + odr["ctime"].ToString() + "全文废止";
break;
case "部分失效":
T_clue = "本文于" + odr["ctime"].ToString() + "废止" + odr["PONS"].ToString();
break;
default:
break;
}
}
odr.Close();
SconnStr.Close();

数据库操作基本上是 这种的
macd004 2007-01-22
  • 打赏
  • 举报
回复
把对数据库的操作执行语句传上来
webdiyer 2007-01-22
  • 打赏
  • 举报
回复
应该是连接打开后执行完相应的操作立即关闭连接,而不是下次再用时才检查连接是否关闭了,这样仍然导致连接长时间没关闭而塞满了连接池.

=========================
www.webdiyer.com
vb_vs 2007-01-22
  • 打赏
  • 举报
回复
Scmd.ExecuteReader.close
yayx 2007-01-22
  • 打赏
  • 举报
回复
不会 用试试看
using(SqlConnection SconnStr = new SqlConnection(sConnStr))
{
///读取操作
}
whb147 2007-01-22
  • 打赏
  • 举报
回复
应该会自动回收吧?

62,266

社区成员

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

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

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

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