2011-06-13 105 views
-1

任何想法这可能发生什么情况?超时已过期 - 连接

我已经在我的代码中正确打开了&关闭的连接,这可能是由于任何服务器问题?

这是最好的解决方案是什么?我如何/在哪里检查最大连接?

System.ApplicationException:个MySqlException在 OpenConnection的提高,错误连接: 超时过期。在从池中获取 连接之前经过了超时期限 。这可能是 发生的原因,因为所有连接池都正在使用中,并且达到最大池大小 。 ---> MySql.Data.MySqlClient.MySqlException: 错误连接:超时过期。 从池中获取连接之前已超时。 可能发生这种情况的原因是,所有 池连接都在使用中,并且已达到池大小。

+1

许多事情可能会导致这种情况;我们需要更多关于如何管理你的连接知道的信息。 – 2011-06-13 17:46:05

回答

2

从异常消息看来,您尝试获取连接时遇到超时。正如消息所建议的那样,您可以尝试增加最大池大小。您可以通过在连接字符串中指定一个新值来完成此操作。关键字是 - '最大池大小'。只需将以下键值对添加到连接字符串 '最大池大小=新值'。

您也可以使用'MySqlConnectionStringBuilder'类并设置'MaximumPoolSize'属性。

默认的最大池大小为100,如果您确实用完了连接,那么建议首先分析您的连接处理,而不是增加最大池大小。