Exemple #1
0
        public async Task Invoke(HttpContext context)
        {
            context.Response.StatusCode  = StatusCodes.Status500InternalServerError;
            context.Response.ContentType = "application/json";

            var ex = context.Features.Get <IExceptionHandlerFeature>();

            if (ex != null)
            {
                var error = new GlobalErrorModel
                {
                    StatusCode = context.Response.StatusCode,
                    StatusText = StringHelper.Humanize(HttpStatusCode.InternalServerError.ToString()),
                    Message    = ex.Error.Message,
                    //StackTrace = ex.Error.StackTrace.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)
                    StackTrace = ex.Error.StackTrace.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
                };

                var err = JsonConvert.SerializeObject(error, new JsonSerializerSettings
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                });

                await context.Response.WriteAsync(err).ConfigureAwait(false);
            }
            else
            {
                await _next(context);
            }
        }
 public ViewResult Error(GlobalErrorModel webApiErrorModel)
 {
     return(View(webApiErrorModel));
 }