连接超时示例

时间:2013-06-04 07:33:41

标签: c# sql-server

是否有任何示例可以查看连接超时错误是如何引发的?

我尝试将一个选择查询放在其中,选择50 000行并将其插入GridView。 我设置连接字符串,打开连接并设置System.Threading.Thread.Sleep(30000)。 我将IIS连接超时设置为60秒,但它不起作用而不会抛出错误 我正在使用Sql Server

2 个答案:

答案 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