Есть ли время ожидания транзакции в ADO.Net, которое отличается от времени ожидания команды - PullRequest
2 голосов
/ 17 марта 2010

У меня большое количество командных выполнений, происходящих внутри одной транзакции.Команды, как правило, небольшие, такие как вставка / обновление одной строки в таблице.Я получаю ошибку тайм-аута, независимо от того, насколько высоко я установил значение тайм-аута команды в ADO.Net.Я не уверен, что где-то отсутствует значение времени ожидания транзакции, которое мне не хватает.

1 Ответ

1 голос
/ 14 мая 2011

Да, есть тайм-аут транзакции, который отделен от тайм-аута команды.

Это устанавливается при создании класса TransactionScope () (либо путем передачи TimeSpan () для времени ожидания одному из конструкторов TransactionScope (), который принимает время ожидания, либо путем установки времени ожидания в структуре TransactionOptions и передачи его одному конструкторов TransactionScope (), принимающих TransactionOptions).

Я думаю, что тайм-аут по умолчанию равен 0, то есть не тайм-аут, поэтому я ожидаю, что он уже установлен, если вы получаете тайм-аут транзакции.

Это может помочь другим, если вы скажете немного больше о вашей ситуации, в частности:

Каким провайдером пользуетесь? (т.е. какой тип соединения, например, SqlClient)? Используете ли вы явные транзакции или объем транзакции? Какую именно ошибку вы получаете?

...