.Net Core自定义中间件(Middleware)

.Net Core支持开发者自定义中间件 

UseMiddleware<自定义class>();
app.UseMiddleware<AuthFuncMiddleware>();

自定义类中书写逻辑,当前逻辑是捕获全局异常

using Newtonsoft.Json;

namespace WebApplication1.Extensions
{
    public class AuthFuncMiddleware
    {
        private readonly RequestDelegate _next;

        public AuthFuncMiddleware(RequestDelegate next)
        {
            _next = next;
        }
        public async Task InvokeAsync(HttpContext context)
        {
            try
            {
                await _next(context);
            }
            catch (Exception ex)
            {
                context.Response.ContentType = "appliaction/json";
                context.Response.StatusCode = 500;
                //var respose = context.Response;
                var erroRespose = new ErroRespose() { Success = false };
                await context.Response.WriteAsync(JsonConvert.SerializeObject(erroRespose));
            }
        }
    }

    public class ErroRespose
    {
        public bool Success { get; set; } = true;
        public string Message { get; set; } = "服务器内部错误";
    }
}

自定义中间件可以完成很多要求,权限判断 异常捕获等

 三更灯火五更鸡,正是男儿读书时!

posted @ 2022-03-22 18:23  含泪拒绝王阿姨i  阅读(365)  评论(0)    收藏  举报