学海无涯

导航

中间件

简述.net core中间件?

A:中间件是在管道中处理请求的组件,处理完后可以传递给下一个组件。通过在Startup类的Configure方法中使用Use来使用中间件并可以调整顺序。
.NET CORE中使用RequestDelegate来构建管道模型,所以自定义的中间件需要根据约定来实现,注意有三点:

  1. 中间件内要定义一个只读的RequestDelegate类型的变量作为调用下一个中间件的委托。
  2. 构造函数中要定义RequestDelegate类型的参数并赋给类里的变量,IOC会将请求注入进来。
  3. 定义一个Task类型的名为Invoke的函数,参数为HttpContext,在其中写中间件的逻辑,并在最后记得返回类中的RequestDelegate对象,传递HttpContext。.NET CORE会自动执行Invoke方法。
public class RequestCultureMiddleware
{
        private readonly RequestDelegate _next;

        public RequestCultureMiddleware(RequestDelegate next)
        {
            _next = next;
        }

        public Task Invoke(HttpContext context)
        {
        	//Todo...在这里可以对请求的上下文做操作如验证之类
            //调用管道中的下一个中间件,向下传递
            return this._next(context);
        }
}

  

posted on 2022-09-19 19:03  宁静致远.  阅读(22)  评论(0编辑  收藏  举报