Определите тип результата в OnException контроллера
Я работаю над проектом MVC.NET 2.0, в котором я пытаюсь добавить некоторую специальную логику обработки ошибок в методе OnException контроллера. По сути, я хочу иметь возможность определить тип результата метода контроллера, в котором было создано необработанное исключение, чтобы я мог возвращать данные об ошибках в определенном формате, зависящем от типа (json для JsonResult и html для ActionResult). Может кто-нибудь указать мне способ определения этого типа? Я был бы очень признателен за любую помощь.
заранее спасибо
1 ответ
Решение
Предполагая, что вы не изменили маршрутизацию по умолчанию:
protected override void OnException(ExceptionContext filterContext)
{
var action = filterContext.RouteData.Values["action"].ToString();
var type = filterContext.Controller.GetType();
var method = type.GetMethod(action);
var returnType = method.ReturnType;
//...do whatever here...
}
Удачи!