超时已过期。在从池中获取连接之前已过超时期限。

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.

提问人:Vinay Arora 提问时间:8/15/2012 最后编辑:John SaundersVinay Arora 更新时间:8/29/2020 访问量:1909

问:

超时已过期。在从池中获取连接之前已过超时期限。这可能是因为所有池连接都在使用中,并且已达到最大池大小。

每当我在资源管理器上加载我的项目时,我都会遇到错误。 any1可以帮我解决这个超时错误吗

C# asp.net ado.net

评论

0赞 L.B 8/15/2012
不要忘记关闭您的连接。

答:

2赞 LOZ 8/15/2012 #1

这通常发生在连接在使用后未关闭时。您使用的是 DataReader 吗?如果是这样,请确保它已关闭。

评论

0赞 Vinay Arora 8/15/2012
是的,我使用 Datareader BT 使用后,我关闭了连接。
0赞 LOZ 8/15/2012
你的connect_timeout号码是多少?
0赞 Vinay Arora 8/18/2012
我设置了连接超时=200和池大小=100
0赞 Vinay Arora 8/18/2012
现在我已经处理了所有的命令、读取器、适配器、连接。
0赞 John Saunders 8/29/2020
未来的读者:请务必查看 C# 中“使用”的用途是什么
1赞 Khushi4.net 10/30/2017 #2

当同一个 SQL 查询字符串一遍又一遍地运行多次时,例如在循环中,也会出现此异常。

有关解决方法,请尝试使用“连接超时”、“最大池大小”等属性修改 Web 服务中使用的连接字符串。

“集成安全性=True;Server=服务器名称;初始目录=DatabaseName;连接超时=20000;pooling='true';最大池大小 = 20000”