我有一个用 C# 4.0 编写的控制台应用程序。我正在运行一个有时需要很长时间的 SQL 存储过程,并且会引发连接超时异常。
为了处理它,我首先在 web.config 文件的连接字符串中将 Timeout 设置为 360,但没有运气。
然后我尝试了:
SQLCommand cmd = new SQLCommand();
cmd.CommandTimeout = 360;
但这也行不通。
任何帮助将不胜感激。我尝试对 Entity Framework 4.0 做同样的事情,但遇到了同样的问题。我提供的超时值没有被应用!
<add name="ConnectionString" connectionString="SERVER=db.mydomain.com;DATABASE=DatabaseName;UID=userID;PWD=Password;Connect Timeout=360;Packet Size=8192;Pooling=True;Min Pool Size=1;Max Pool Size=1000;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
例外:
Timeout expired: The timeout period elapsed prior to completion of the operation or the server is not responding.