У меня есть следующий код:
using (var transaction = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions {IsolationLevel = IsolationLevel.ReadCommitted}))
{
try
{
var guid = otherRepository.GetGuid(otherGuid.Value);
var result =
anotherRepository.DeleteFile($"Documents/{guid}/{id}");
result.Message = resultaat.Success ? "success" : resultaat.Message;
result.Success = resultaat.Success;
transaction.Complete();
return Json(result);
}
catch (Exception ex)
{
transaction.Dispose();
ErrorSignal.FromCurrentContext().Raise(ex);
result.Message = "error";
return Json(result);
}
}
Странно то, что весь блок try выставляется (включая транзакцию.Complete ()).Но после этого код все равно выдает ошибку в последней строке блока catch (пропуская остальные!)
Ошибка гласит:
system.transactions.transactionabortedexception the transaction has aborted
Как я могу получить эту ошибку после транзакциизавершил и почему не пойман?