Я использую 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)
MaxValue
, но у меня есть подозрение ... что проблема не в том, чем кажется. - person   schedule 28.05.2011