Получить действия и параметры действия в Controller.OnException

Мы используем виртуальный метод OnException в BaseController для регистрации нашего исключения.

Но как мы можем получить действие и параметры контроллера, из которых возникло исключение?

Ответы

Ответ 1

Вы можете получить все эти данные из объекта ExceptionContext.

Например, используя этот код, вы можете получить контроллер, действие и все другие параметры маршрутизации:

context.RouteData.Values

Используя этот код, вы можете получить параметры строки запроса:

context.HttpContext.Request.QueryString

И параметры формы finnaly:

context.HttpContext.Request.Form

Ответ 2

protected override void OnException(ExceptionContext filterContext)
{
    string action = filterContext.RouteData.Values["action"].ToString();
    string controller = filterContext.RouteData.Values["controller"].ToString();
}