我们的WCF application
已收到以下错误。
超时已过期。在获得a之前经过了超时时间 从游泳池连接。这可能是因为所有人都集中了 正在使用连接并达到最大池大小。
当我们在应用程序消耗了总共24个连接时收到错误时,我认为100是默认的连接池大小。
我们始终关闭SQL connection
,我们也处理SQLDataReader
。
我不确定为什么会发生这种情况。当我们收到此错误时还有其他情况吗?
答案 0 :(得分:1)
我有一些sugestions。
using
块内的所有连接以关闭/处置连接(正如您所说,已经完成) select distinct dbid, DB_NAME(dbid) FROM sys.sysprocesses where dbid > 0
然后,使用此查询检查所有已打开的连接,替换 dbid :
SELECT dbid, DB_NAME(dbid) as DatabaseName, COUNT(dbid) as ConnectionCount, loginame as LoginName
FROM sys.sysprocesses
WHERE dbid = 1
GROUP BY dbid, loginame
ORDER BY count(dbid) desc
这可以给你一些关于谁保持太多连接打开的提示。
Pooling=true; Min Pool Size=1; Max Pool Size=5
我希望这可以帮到你。