2013-06-04 61 views
1

是否有任何示例可以查看連接超時錯誤如何引發?連接超時示例

我試圖把一個選擇查詢,它選擇像50 000行並插入GridView。 我設置連接字符串,打開連接並設置System.Threading.Thread.Sleep(30000)。 我將IIS連接超時設置爲60秒,但它不起作用並且不會引發錯誤。
我使用SQL Server

+0

哪個數據庫軟件? – Blorgbeard

+0

我正在使用sql server作爲數據庫軟件 – Sora

回答

0

Connection Timeout,你可以在連接字符串中設置用於確定客戶端將等待多長時間連接將初始化爲(因缺乏更好的詞)。它不控制客戶端等待數據庫操作結果的時間。

爲了設置超時,您可以使用一個SqlCommandCommandTimeout屬性做到這一點:

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