How to prevent IIS from overriding custom error pages with IIS default error pages? Is there a Response.TrySkipIisCustomErrors equivalent for asp.net core? In ASP Net MVC I use the code below to send error without a custom page but in asp net core it is not working.
try {     // some code } catch (Exception ex) {     Response.TrySkipIisCustomErrors = true;     Response.StatusCode = (int)HttpStatusCode.InternalServerError;     mensagem = ex.Message; } 1 Answers
Answers 1
What you can try is writing an exception handling middleware. Here is a blog post which I have used for reference. Something along the lines of
    public class ErrorHandlingMiddleware     {       private readonly RequestDelegate next;        public ErrorHandlingMiddleware(RequestDelegate next)       {         this.next = next;       }        public async Task Invoke(HttpContext context)       {         try         {             await next(context);         }         catch (Exception ex)         {             await CustomHandleExceptionAsync(context, ex);         }       }      private static Task CustomHandleExceptionAsync(HttpContext context, Exception exception)     {          if (exception is NotFoundException)         {           var customJson = JsonConvert.SerializeObject(new{ error =           exception.Message });          context.Response.ContentType = "application/json";          context.Response.StatusCode = (int)HttpStatusCode.NotFound;          return context.Response.WriteAsync(customJson);        }    }  
0 comments:
Post a Comment