TransactionAbortedException - Можете ли вы безопасно повторно запустить?C#

Место общения программистов C#
Anonymous
TransactionAbortedException - Можете ли вы безопасно повторно запустить?

Сообщение Anonymous »

Я использую TransactionScope в следующей моде

Код: Выделить всё

using (var scope = new TransactionScope())
{
using (var conn = SQLHelpers.GetSQLConnection())
{
//commands here
}
scope.Complete();
}
Иногда я получаю транзакцию abroartedexception при вызове Scope.complete () , поскольку транзакция уже отброшена обратно, и я использовал профилировщик для определения проблемы, связанный с тем, что это связан с тупиком.

transaction (идентификатор процесса 59) был вторженным на блокировку, и был Deghoscome, и был deglock -rescriouse, и был Deglock -Rescriouns, и был Deglock -Resources, и был Deglock -Rescriouves, и был Deglock -Rescriouse. Повторно затроните транзакцию. Тем не менее, это заставило меня задуматься, почему эта ошибка не пузырила до транзакции, которое AbroartedException , так что я действительно мог бы запустить транзакцию только для этого конкретного случая. Внутреннее исключение (ы) не содержало никакой информации, которая могла бы указать, какова была фактическая ошибка. /> Deadlock < /li>
Timeout < /li>
'Соединение было закрыто' < /li>
... другие? Тем не менее, вы могли бы обобщить это до всех случаев, если вам гарантировали откат. Вопрос может быть перепродан, чтобы задать: «Гарантия транзакции abroartedException.>

Подробнее здесь: https://stackoverflow.com/questions/401 ... ely-re-run

Вернуться в «C#»