Asp.net 从池中获取连接之前已过超时时间
托管应用程序后,我遇到以下错误: 错误页面:http://********.in/Presentation Layer/newquote.aspx 错误消息:超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小 StackTrace:at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection-owningConnection、TaskCompletionSourceAsp.net 从池中获取连接之前已过超时时间,asp.net,connection,max,connection-pooling,Asp.net,Connection,Max,Connection Pooling,托管应用程序后,我遇到以下错误: 错误页面:http://********.in/Presentation Layer/newquote.aspx 错误消息:超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小 StackTrace:at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection-owningConnection、TaskCom
1重试、DbConnectionOptions-userOptions、DbConnectionInternal-oldConnection、DbConnectionInternal&connection)
位于System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection、DbConnectionFactory connectionFactory、TaskCompletionSource
1重试,DbConnectionOptions用户选项)
位于System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection、DbConnectionFactory connectionFactory、TaskCompletionSource1重试,DbConnectionOptions用户选项)
在System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
1重试)
位于System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1重试)
在System.Data.SqlClient.SqlConnection.Open()处
在Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection()上
位于Microsoft.Practices.EnterpriseLibrary.Data.Database.GetOpenConnection(布尔配置连接)
在Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand)上
在F:\gayathri reddy\Enq Quote\06-01-2015\DataLayer\Quote DL.cs:第430行中的DataLayer.Quote\u DL.insertQuoteproduct(QuotationProductCombination\u objQP)处
在F:\gayathri reddy\Enq Quote\06-01-2015\BusinessLayer\Quote\BL.cs第88行的BusinessLayer.Quote插入QuoteProduct(QuoteationProductCombination)中
在F:\gayathri reddy\Enq Quote\06-01-2015\EngQuote\Presentation Layer\newquote.aspx.cs中的EngQuote.Presentation\u Layer.newquote.quotation保存(Int32状态,字符串操作):第3711行
但在本地VisualStudio2010中运行代码时没有问题,当我在服务器或本地机器IIS或共享托管服务器中托管代码时,只有我们面临这个问题
我已经试着遵循所有这些步骤,但没有任何改进
1) .在每个DL函数中打开和关闭连接
2) .以这种方式增加了命令超时时间
DbCommand cmd=db.GetStoredProcCommand(“Procedurename”);
cmd.CommandTimeout=int.MaxValue;
SqlDataReader sdata=(SqlDataReader)db.ExecuteReader(cmd)
3) 。增加了web配置中的连接超时
4) 。web配置中的executionTimeout增加
5) 。停机超时时间增加
6) 。已更改调试=false
但没有用,连接超时问题仍然存在长进程
请建议除上述选项之外的任何解决方案
希望美国人民能很好地解决这个问题
提前感谢….我猜IIS和SQL Server之间的连接太慢,无法提供连接。只需确保未达到最大连接限制即可。您可以通过执行下面的select语句进行确认
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
您可以尝试增加连接字符串中的池大小。但这会有一些负面影响。下面是池大小增加的连接字符串示例。
server=localhost;数据库=dbname;uid=用户名;pwd=paswrd;最大池大小=200代码>我猜IIS和SQL Server之间的连接太慢,无法提供连接。只需确保未达到最大连接限制即可。您可以通过执行下面的select语句进行确认
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
您可以尝试增加连接字符串中的池大小。但这会有一些负面影响。下面是池大小增加的连接字符串示例。
server=localhost;数据库=dbname;uid=用户名;pwd=paswrd;最大池大小=200代码>我猜IIS和SQL Server之间的连接太慢,无法提供连接。只需确保未达到最大连接限制即可。您可以通过执行下面的select语句进行确认
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
您可以尝试增加连接字符串中的池大小。但这会有一些负面影响。下面是池大小增加的连接字符串示例。
server=localhost;数据库=dbname;uid=用户名;pwd=paswrd;最大池大小=200代码>我猜IIS和SQL Server之间的连接太慢,无法提供连接。只需确保未达到最大连接限制即可。您可以通过执行下面的select语句进行确认
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
您可以尝试增加连接字符串中的池大小。但这会有一些负面影响。下面是池大小增加的连接字符串示例。
server=localhost;数据库=dbname;uid=用户名;pwd=paswrd;最大池大小=200代码>连接是静态的吗?您是否使用using
-语句来确保它尽快关闭?显示一些code.DbConnection con=sqldb.CreateConnection();尝试{con.Open();int CusIdent=Convert.ToInt32(sqldb.ExecuteScalar(“spInsertCustomerCompanyGroup”,objCustGrp.GroupName,objCustGrp.CreatedBy,objCustGrp.CreatedDate));返回CusIdent;}最后{con.Close();}hi,我没有在DbConnection con=sqldb.CreateConnection()之后使用(使用语句)检查;尝试{con.Open();int CusIdent=Convert.ToInt32(sqldb.ExecuteScalar(“spInsertCustomerCompanyGroup”,objCustGrp.GroupName,objCustGrp.CreatedBy,objCustGrp.CreatedDate));返回CusIdent;}最后{con。