码迷,mamicode.com
首页 > Windows程序 > 详细

webapi使用ExceptionFilterAttribute过滤器

时间:2019-12-21 10:01:49      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:str   public   res   abs   文章   sys   format   server   webapi   

文章

public class ApiExceptionFilterAttribute:ExceptionFilterAttribute
    {
        public override void OnException(HttpActionExecutedContext actionExcutedContext)
        {
            HttpRequestMessage request = actionExcutedContext.Request;
            string controllerName = actionExcutedContext.ActionContext.ControllerContext.ControllerDescriptor.ControllerName;
            string actionName = actionExcutedContext.ActionContext.ActionDescriptor.ActionName;
            string content = request.Content.ReadAsStringAsync().Result;
            string exceptionMessage = actionExcutedContext.Exception.Message;
            string exceptionTrace = actionExcutedContext.Exception.StackTrace;
            string arguments = JsonConvert.SerializeObject(actionExcutedContext.ActionContext.ActionArguments);
            string url = request.RequestUri.AbsoluteUri;
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("URL:{0}<br>", url);
            sb.AppendFormat("Controller:{0}<br>", controllerName);
            sb.AppendFormat("Action:{0}<br>",actionName);
            sb.AppendFormat("Arguments:{0}<br>",arguments);
            sb.AppendFormat("Content:{0}<br>",content);
            sb.AppendFormat("ExceptionMessage:{0}<br>", exceptionMessage);
            sb.AppendFormat("ExceptionTrace:{0}<br>", exceptionTrace);
            actionExcutedContext.Response = new HttpResponseMessage() { Content = new StringContent(sb.ToString()),StatusCode=System.Net.HttpStatusCode.InternalServerError };
            //记录日志

            sb.Clear();
            sb = null;
            base.OnException(actionExcutedContext);
        }
    }

webapi使用ExceptionFilterAttribute过滤器

标签:str   public   res   abs   文章   sys   format   server   webapi   

原文地址:https://www.cnblogs.com/fanfan-90/p/12075592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!