C# 获取异常超时已过期。从池中获取连接之前经过的超时时间

C# 获取异常超时已过期。从池中获取连接之前经过的超时时间,c#,.net,linq,C#,.net,Linq,获取异常建议我这样做,我不想增加连接超时 超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小 堆栈跟踪: 堆栈跟踪在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionDbConnection 拥有连接在 System.Data.ProviderBase.DbConnectionClosed.OpenConnectionDbConnection outerConnect

获取异常建议我这样做,我不想增加连接超时

超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小

堆栈跟踪:

堆栈跟踪在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionDbConnection 拥有连接在 System.Data.ProviderBase.DbConnectionClosed.OpenConnectionDbConnection outerConnection,DbConnectionFactory连接工厂位于 System.Data.SqlClient.SqlConnection.Open位于 System.Data.Linq.SqlClient.SqlConnectionManager.UseConnectionConnectionUser 位于System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe的用户位于 System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode位于 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.ExecuteExpression 查询System.Data.Linq.DataContext.ExecuteMethodCallObject 实例,MethodInfo MethodInfo,对象[]参数位于 Tavisca.TravelNxt.Deals.DataFeeders.DataAccessLayer.HotelDalsDataClassesDataContext.SpinSertAsynchtotedAlFeedRequestDataBinary HoteldalData,可空'1 addDate

在 Tavisca.TravelNxt.Deals.DataFeeders.Entities.AsynchHotelDalFeedRequest.AddHotelDal 霍特尔代尔酒店 Tavisca.TravelNxt.Hotel.Plugins.DealsHandler.b_uu0hoteldal交易地点 System.Collections.Generic.List1.ForEachAction1操作位于 Tavisca.TravelNxt.Hotel.Plugins.DealsHandler.UploadDealsList`1 Hoteldals,字符串sessionId位于 Tavisca.TravelNxt.Hotel.Plugins.DealsHandler.OnAfterProcessImplementationCallHandlerContext 上下文、对象[]和输入参数、对象和响应


完成DB连接后,很可能无法正确关闭它们。一种可能是您忘记在几个位置关闭一个或多个连接。另一个原因是,执行sql命令时会出现异常,这会阻止您到达close语句

按照以下模式确保正确关闭所有连接:

SqlConnection connection = null;
try
{
    connection = new SqlConnection(...);
    //all other stuff goes here
}
catch{}
finally
{
   if(connection != null)
      connection.Close(); //This will always close the connection, even with exceptions.
}