public override void OnException(ExceptionContext context)
        {
            IknownException knownException = context.Exception as IknownException;

            if (knownException == null)
            {
                var logger = context.HttpContext.RequestServices.GetService <ILogger <MyExceptionFilterAttribute> >();
                logger.LogError(context.Exception, context.Exception.Message);

                knownException = KnownException.Unknown;
                context.HttpContext.Response.StatusCode = StatusCodes.Status500InternalServerError;
            }
            else
            {
                knownException = KnownException.FromKnownException(knownException);
                context.HttpContext.Response.StatusCode = StatusCodes.Status200OK;
            }

            context.Result = new JsonResult(knownException)
            {
                ContentType = "application/json;charset=utf-8"
            };
        }
Пример #2
0
 public static IknownException FromKnownException(IknownException exceptoin)
 {
     return(new KnownException {
         Message = exceptoin.Message, ErrorCode = exceptoin.ErrorCode, ErrorData = exceptoin.ErrorData
     });
 }