异常信息:异常类型: MySqlException 异常消息:错误连接:超时过期。从池获得连接之前经过的超时时间。这可能是因为所有池连接都在使用中,并且达到了最大池大小。
以上是我在事件查看器中遇到的错误。这个异常似乎只发生在我们的开发服务器上。它是一个内部仓库管理和私人公司的网络商店.在给定的时间里,我们的用户还不到100个,这就是我所理解的:
我为解决这个问题所做的事情:
这似乎仍然造成了同样的问题,我目前正处于我的智囊团。为了破坏控制这个问题,我用超过一到两个小时的线程杀死了用户,我监测到在这些崩溃期间,最多只有108个连接。有一次,当有40个空闲线程时,它停止接受连接。
下面是用于进行事务处理的代码。
/// <summary>
/// Begin a database transaction.
/// </summary>
/// <returns>The database connection.</returns>
public DbTransaction BeginTransaction()
{
if (_DbConnection.State != ConnectionState.Open)
{
_DbConnection.Open();
}
return _DbConnection.BeginTransaction();
}
/// <summary>
/// Commit a database transaction.
/// </summary>
/// <param name="transaction">The database connection.</param>
public void CommitTransaction(DbTransaction transaction)
{
if (transaction != null)
{
transaction.Commit();
transaction.Dispose();
}
if (_DbConnection != null)
{
_DbConnection.Close();
}
}
/// <summary>
/// Rollback a database transaction.
/// </summary>
/// <param name="transaction">The database transaction.</param>
public void RollbackTransaction(DbTransaction transaction)
{
if (transaction != null)
{
transaction.Rollback();
}
}发布于 2014-02-19 11:03:37
在修改连接字符串之后,尝试实际保存它们。
https://stackoverflow.com/questions/21847683
复制相似问题