예제 #1
0
        /// <summary>
        /// 向前端输出信息
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        private async Task ResponseInfo(HttpContext context, SpeciResult data)
        {
            var result = JsonHelper.ToJsonString(data);

            context.Response.ContentType = "application/json;charset=utf-8";
            await context.Response.WriteAsync(result);
        }
예제 #2
0
        /// <summary>
        ///处理业务异常
        /// </summary>
        /// <param name="context"></param>
        /// <param name="ex"></param>
        /// <returns></returns>
        private async Task HandleBizExceptionAsync(HttpContext context, BizException ex)
        {
            var data = new SpeciResult {
                code = Enums.OperationStatus.Fail.GetHashCode(), msg = ex.Message
            };

            await ResponseInfo(context, data);
        }
예제 #3
0
        private async Task HandleExceptionAsync(HttpContext context, Exception ex)
        {
            context.Response.StatusCode = StatusCodes.Status500InternalServerError;
            var logger = loggerFactory.CreateLogger(ex.TargetSite.DeclaringType);

            logger.LogError(ex, ex.Message);

            var data = new SpeciResult {
                code = Enums.OperationStatus.Exception.GetHashCode(), msg = "我们已经收到此次异常信息,将尽快解决!"
            };

            await ResponseInfo(context, data);
        }
예제 #4
0
        private async Task HandleErrorAsync(HttpContext context, int statusCode)
        {
            var msg = "未知错误";

            switch (statusCode)
            {
            case StatusCodes.Status401Unauthorized:
                msg = "未授权";
                break;

            case StatusCodes.Status404NotFound:
                msg = "未找到服务";
                break;

            case StatusCodes.Status502BadGateway:
                msg = "请求错误";
                break;
            }
            var data = new SpeciResult {
                code = Enums.OperationStatus.Fail.GetHashCode(), msg = msg
            };

            await ResponseInfo(context, data);
        }