middleware exception
От: undo75  
Дата: 26.02.24 19:28
Оценка:
вот класс есть

    /// <summary>
    /// Отлов ошибок.
    /// </summary>
    public class ExceptionMiddleware : ExceptionFilterAttribute
    {
        public bool AllowMultiple => false;

        public override void OnException(HttpActionExecutedContext context)
        {
            var actionContext = context.ActionContext;
            if (actionContext != null)
            {
                // в UserAuthorize и UserRight атрибутах кидаются такие ошибки, и до пользователя доходила 500 ошибка
                if (context.Exception is HttpResponseException ex &&
                    (ex.Response.StatusCode == HttpStatusCode.Unauthorized || ex.Response.StatusCode == HttpStatusCode.Forbidden))
                {
                    throw context.Exception;
                }

                if (context.Exception is NotFoundException)
                {
                    throw new HttpResponseException(actionContext.Request.CreateErrorResponse(HttpStatusCode.NotFound, context.Exception.Message));
                }

                if (context.Exception is AccessDeniedException)
                {
                    throw new HttpResponseException(actionContext.Request.CreateErrorResponse(HttpStatusCode.Forbidden, context.Exception.Message));
                }
и т.д.



стоит цель из сервиса пробросить в апишку (контроллер) чтоб он соотвственно вернул throw new HttpResponseException . можно на пальцах как это реализуется?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.