Я использую ActionFilter (который я не написал) для метода действия. Сам метод действия вызывает метод SaveOrUpdate () в хранилище. Если этот метод SaveOrUpdate () завершается ошибкой с исключением, я хотел бы установить свойство ExceptionHandled ActionExecutedContext из метода действия, чтобы метод OnActionExecuted не пытался зафиксировать транзакцию.
Как я могу это сделать? Это правильный подход к этому или я должен делать это по-другому?
Вот код в OnActionExecuted фильтра:
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var thereWereNoExceptions = filterContext.Exception == null || filterContext.ExceptionHandled;
if (filterContext.Controller.ViewData.ModelState.IsValid && thereWereNoExceptions)
{
_transaction.Commit();
}
else
{
_transaction.Rollback();
}
}