是否有任何示例可以查看连接超时错误是如何引发的?
我尝试将一个选择查询放在其中,选择50 000行并将其插入GridView
。
我设置连接字符串,打开连接并设置System.Threading.Thread.Sleep(30000)
。
我将IIS连接超时设置为60秒,但它不起作用而不会抛出错误
我正在使用Sql Server
答案 0 :(得分:3)
在SQL Server中,使用waitfor命令:
waitfor delay '01:00'
答案 1 :(得分:0)
您可以在连接字符串中设置的Connection Timeout
用于确定客户端等待连接初始化的时间长度(缺少更好的单词)。它不控制客户端等待数据库操作结果的时间。
要设置 超时,您可以使用CommandTimeout
上的SqlCommand
属性执行此操作:
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["test"].ConnectionString))
using (SqlCommand comm = new SqlCommand("testTimeout", conn))
{
// next line is where the Connection Timeout will take
// effect if the connection cannot be opened in time
conn.Open();
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.CommandTimeout = 60;
// next line is where the Command Timeout takes effect
// if the operation takes a long time to complete
comm.ExecuteNonQuery();
}
要测试命令超时,请创建“testTimeout”存储过程并使其延迟(请参阅 Blorgbeard 的回答),然后使用命令超时。命令超时的默认值为30(= 30秒)。另请参阅MSDN。