Тайм-аут транзакции linq2sql
Я добавил транзакцию в функцию, которая каждую ночь очищает некоторые таблицы и добавляет новые элементы.
Проблема в том, что я получаю следующую ошибку:
Внутреннее исключение: Тайм-аут транзакции Транзакция прервана.
Задание занимает около 12 минут, и после добавления транзакции я получаю эту ошибку каждый раз при запуске функции.
Мой код:
XalSqlDataContext db = new XalSqlDataContext();
db.CommandTimeout = 3600;
TransactionOptions options = new TransactionOptions();
options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
options.Timeout = new TimeSpan(0, 40, 0);
using (TransactionScope txScope = new TransactionScope(TransactionScopeOption.Required, options))
{
//my code
}
Но я все еще получаю тайм-аут.
Любые подсказки к моей проблеме MS SQL.
Мне удалось изменить время ожидания транзакции в конфигурации компьютера для.net 2.0 до одного часа без посторонней помощи.
мой код работает под.net 3.5, но в папке.net 3.5 нет файла machine.config
1 ответ
TransactionManager имеет максимальное время ожидания. Проверьте machine.config. Я думаю, что даже если вы установите тайм-аут для своего контекста данных выше максимального, он будет проигнорирован, и будет использовано значение machine.config, так что вы захотите настроить файл machine.config.
http://msdn.microsoft.com/en-us/library/system.transactions.transactionmanager.maximumtimeout.aspx