我将CommandTimeout设置为1秒,但并没有如预期一样抛出TimeoutException。我运行的查询大约需要7-8秒的时间。然而,当我使用ExecuteReader执行查询而不是尝试填充DataTable时,超时确实起作用。我已经尝试在创建命令之后以及在创建DataAdapter之后设置CommandTimeout。
using(SqlConnection con = new SqlConnection("data source=*****;user id==*****;password==*****;initial catalog==*****;"))
{
string query = "select * from *****";
SqlCommand command = new SqlCommand(query, con);
//command.CommandTimeout = 1;
CostingDataSet cds = new CostingDataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.SelectCommand.CommandTimeout = 1;
Stopwatch stopwatch = Stopwatch.StartNew();
da.Fill(cds.CostingData);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
}