Пример #1
0
        //public bool AllowMultiple => true;

        //public async Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
        //{
        //    await ErrorLogService<T>.LogAsync(actionExecutedContext.Exception, LogType.Error);


        //    Exception exception = actionExecutedContext.Exception;

        //    HttpStatusCode httpStatusCode = HttpStatusCode.InternalServerError;

        //    if (exception is HttpException httpException)
        //    {
        //        httpStatusCode = (HttpStatusCode)httpException.GetHttpCode();
        //    }

        //    actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(httpStatusCode, exception.Message);
        //}

        public override async Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken)
        {
            var result = await HttpApplicationErrorHandler.HandleExceptionAsync(context.Exception, LogType.Error);

            var response = context.Request.CreateErrorResponse(result.Item2, result.Item1);

            context.Result = new ResponseMessageResult(response);
        }
 public override void OnException(ExceptionContext context)
 {
     HttpApplicationErrorHandler.HandleException(context.Exception, LogType.Error);
 }
Пример #3
0
 protected void Application_Error(object sender, EventArgs e)
 {
     HttpApplicationErrorHandler.HandleLastException(Server, Request, Response);
 }