MaxBufferPoolSize

时间:2012-03-14 04:49:30

标签: .net sql ado.net connectivity

我使用的是默认值MAXBUfferPoolSIzeMaxBufferSize。但是,我收到了一个错误:

"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.".

最大泳池大小也增加了。如何找到适合MAXBUfferPoolSIzeMaxBufferSize的值以避免此错误。

1 个答案:

答案 0 :(得分:3)

如果你看到它正在告诉你一个问题 - 答案通常不是“让游泳池更大” - 它是“停止泄漏连接”。

这几乎普遍意味着您没有在一个或多个地方处置连接。调用Dispose()是为了使连接在池中可用,所以无论何时使用连接,都必须处置它 - 否则你依赖于垃圾收集,这是非确定性的。例如 - 确保你有:

using(var conn = [create a connection instance])
{
    // do something with the connection
}