ExceptionContext. ExceptionHandled изменяется на true. Где обрабатывается исключение?

) Я использую глобальный фильтр действий для обработки и регистрации всех исключений.

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new ElmahHandleErrorAttribute());
        filters.Add(new HandleErrorAttribute());
    }

Вот как работает глобальный фильтр действий Определен ElmahHandleErrorAttribute- он переопределяет метод OnException

public class ElmahHandleErrorAttribute : System.Web.Mvc.HandleErrorAttribute
{
    public override void OnException(ExceptionContext context)
    {
       //Is the exception handled already? context.ExceptionHandled seems to be true here
        if (!context.IsChildAction && (context.HttpContext.IsCustomErrorEnabled))
        {
            //Do other stuff stuff
            //Log to Elmah               
        }
    }
   ...
 }

Я не понимаю, почему значение context.ExceptionHandledимеет значение true, когда выполняется метод OnException. Как обрабатывается это исключение?

-РЕДАКТИРОВАТЬ- У меня есть раздел customErrorsв Web.Config. У меня есть класс ErrorControllerи действия с именами Generalи Http404.

<customErrors mode ="On" defaultRedirect="Error/General">
      <error statusCode="404" redirect="Error/Http404"/>
  </customErrors>

Чего я не понимаю, так это того, что действие контроллера Generalне выполняется (точка останова никогда не срабатывает), но значение ExceptionContext.ExceptionHandledустанавливается равным true, когда Начинает выполняться метод OnExceptionдля ElmahHandleErrorAttribute.

8
задан escist 16 May 2012 в 08:44
поделиться