Я устанавливаю CommandTimeout на 1 секунду, и исключение TimeoutException не генерируется, как ожидалось. Выполняемый мной запрос занимает около 7-8 секунд. Тайм-аут работает, однако, когда я использую ExecuteReader для выполнения запроса, а не для заполнения DataTable. Я попытался установить CommandTimeout, когда после создания команды, а также после создания DataAdapter.CommandTimeout не работает при использовании SqlDataAdapter для заполнения DataTable
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);
}
Котируемый код - это быстрый абстрактный проект VS, который я создал, чтобы изолировать проблему. – Ersl
Кроме того, как уменьшить данные для решения проблемы? Моя проблема в том, что исключение тайм-аута НЕ выбрасывается. – Ersl
@ Ersl Извините, я, хотя вы говорили о том, что исключение было брошено. – Oscar