Время ожидания TransactionScope преждевременно?

Я использую TransactionScope для пакетной вставки и обновления. Проблема в том, что я получаю исключения тайм-аута для 30-минутной операции, даже когда я установил тайм-аут TransactionScope на один час.

Также после исключения вставляет кажущееся случайным количество записей пакета. Например, последняя операция имела 12440 вставок, а после тайм-аута в таблицу было вставлено 7673 записей.

Тайм-аут SqlConnection и SqlCommand оба установлены на int.MaxValue .

Что я делаю не так?

Вот мой код:

using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromHours(1)))
 {
         try
         {
                using (db = new DB())
                {
                //operations here
                }
         }
         catch (Exception ex)
         {
               throw new Exception("DB Error:\r\n\r\n" + ex.Message);
         }

         transaction.Complete();
} // <--- Exception here: Transaction aborted (Inner exception: Timeout)
7
задан dstr 28 May 2011 в 06:18
поделиться