Я запрашиваю базу данных Microsoft SQL, используя SqlConnection
, SqlCommand
и SqlReader
, во многом как описано в https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/retrieving-data-using-a-datareader
Теперь SqlCommand
позволяет установить CommandTimeout
и я делаю это так (упрощенно):
using (SqlConnection connection = GetConnection()) {
connection.Open();
using (SqlCommand command = connection.CreateCommand()) {
command.CommandText = query; //My custom SQL query
command.CommandType = CommandType.Text;
//Set Timeout
command.CommandTimeout = timeout.Value; //My custom timeout
using (SqlDataReader reader = command.ExecuteReader()) {
while (reader.Read()) {
//Read row by row and do stuff
}
}
}
}
Мой вопрос: к чему на самом деле относится Тайм-аут? Это
- Время, проведенное в
ExecuteReader()
- Время, проведенное в
Read()
- оба эти
- что-то еще?
Кажется,нет конкретной документации по этому вопросу, ни в MSDN, ни в Интернете.