Esempio n. 1
0
        public void OnException(ExceptionContext filterContext)
        {
            if (!filterContext.ExceptionHandled)
            {
                var    excep          = filterContext.Exception;
                var    controllerName = filterContext.RouteData.Values["controller"];
                var    actionName     = filterContext.RouteData.Values["action"];
                string tempMsg        = $"在请求controller[{controllerName}] 的 action[{actionName}] 时产生异常【{excep.Message}】";
                if (excep.InnerException != null)
                {
                    tempMsg = $"{tempMsg} ,内部异常【{excep.InnerException.Message}】。";
                }

                if (excep.StackTrace != null)
                {
                    tempMsg = $"{tempMsg} ,异常堆栈【{excep.StackTrace}】。";
                }

                _logger.LogError(tempMsg); // Log.

                if (_env.IsDevelopment())
                {
                    filterContext.Result = new JsonResult(RestResult.Error("500", $"接口请求异常,请联系管理员:{tempMsg}"));//In development,output exception message.
                }
                else
                {
                    filterContext.Result = new JsonResult(RestResult.Error("500", "接口请求异常,请联系管理员"));
                }
                filterContext.ExceptionHandled = true; // Tag it is handled.
            }
        }
Esempio n. 2
0
 public Task <RestResult> FallbackAsync(string service, string api, HttpMethod method, object data = null, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer")
 {
     return(Task.FromResult(RestResult.Error("600", "服务调用异常")));
 }