Я использую фильтр действий для обработки исключений внутри моих ApiController
методов.
Мои методы возвращают результаты как JSON, используя return Ok(object)
, однако, когда я хочу обработать исключения в моем фильтре действий для Обрабатывая исключение из моих методов ApiController, он не имеет доступа к методу Ok
для сериализации объектов как JSON, поскольку это защищенный метод внутри ApiController
. Вот пример моего фильтра действий:
public class WebServiceExceptionFilter : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
Exception exception = filterContext.Exception;
if (exception is DbEntityValidationException)
{
List<string> errorMessageList = generateValidationErrorMessageList((DbEntityValidationException)e);
string detailedError = String.Join(" ; ", errorMessageList);
filterContext.Result = Ok(new WebServiceResult(ErrorCodes.ERROR_CODE_MINUS_3002_DB_VALIDATION, detailedError));
//---------------------^^ Ok is not available ------
}
}
}