Тайм-аут транзакции 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

Другие вопросы по тегам