В чем разница между SqlCommand.CommandTimeout и SqlConnection.Параметра connectiontimeout?
есть ли разница между SqlCommand.CommandTimeout
и SqlConnection.ConnectionTimeout
в .NET?
5 ответов
да. CommandTimeout
сколько времени может занять выполнение одной команды. ConnectionTimeout
сколько времени может потребоваться, чтобы установить соединение с сервером для начала.
например, вы можете выполнять относительно длительные запросы - для них вполне нормально занять 10 минут, но если бы для начала потребовалось 10 минут, чтобы установить соединение, вы бы знали, что что-то было плохо.
свойство sqlcommand.CommandTimeout = ограничение времени ожидания для вашего SQL-запроса. Означает, сколько времени может занять запрос (например: SELECT, UPDATE) для его выполнения. Если он превышает SqlCommand.CommandTimeout, затем он останавливает выполнение. Произойдет ошибка тайм-аута команды.
SqlConnection.Connectiontimeout, т. = ограничение времени ожидания соединения. Означает, сколько времени объект подключения может пытаться подключиться. Если он превышает указанное время, он прекращает соединение. Ля произойдет ошибка тайм-аута соединения.
ConnectionTimeout
указывает продолжительность ожидания перед тайм-аутом при попытке открыть an SqlConnection
. Это относится к .
пока
SqlCommand.CommandTimeout
задано время ожидания SqlCommand перед тайм-аутом. Это происходит после открытия соединения и одного из ExecuteXXX
методы были вызваны для объекта Command.
Дополнительная Информация
значение по умолчанию CommandTimeout
30 секунд. Ноль(0) означает отсутствие ограничения. Вы можете установить CommandTimeout
значение только в кодировке.
значение по умолчанию ConnectiontTimeout
15 секунд. Ноль (0) также указывает на отсутствие ограничений. Меньше нулевого значения (минус значение) будет получить ArgumentException
. Вы можете установить ConnectionTimeout
значение в файле кодирования и конфигурации.