繁体   English   中英

让超时过期。 从池中获取连接之前经过的超时时间。 。例外

[英]Getting Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. .exception

得到例外

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

码:

 HotelDealsDataClassesDataContext hotelDealsDataContext = DatabaseHelper.GetHotelDealsDataContext();
 hotelDealsDataContext.spInsertAsyncHotelDealFeedRequestData(Utility.GetBinaryData(hotelDeal), DateTime.Now);

堆栈跟踪:

 at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
 at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
 at System.Data.SqlClient.SqlConnection.Open()  
 at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user) 
 at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()  
 at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()  
 at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)    
 at System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters)  
 at Tavisca.TravelNxt.Deals.DataFeeders.DataAccessLayer.HotelDealsDataClassesDataContext.spInsertAsyncHotelDealFeedRequestData(Binary hotelDealData, Nullable`1 addDate)  

此异常告诉您已用尽连接池,表示所有连接池已满并且所有连接都在使用中,并且在获取连接之前已达到命令字符串超时(默认超时为15秒)。 正如RePierre建议检查您是否正确处理了连接。

尝试尽可能晚地打开连接并尽快关闭/处置。

一般建议: - 始终首选US语句打开所有连接,确保正确使用IDisposable对象。

TimeOutExpired

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM