目录:

 

  1. 什么是中间件(IApplicationBuilder)
  2. 创建
  3. 顺序规则
  4. Asp.Net Core 内置的中间件

 

      1.什么是中间件

      官方:中间件是组装成应用程序管道以处理请求和响应的软件。每个组件选择是否将请求传递给流水线中的下一个组件,并且可以在管道中调用下一个组件之前和之后执行某些操作。请求代理用于构建请求管道。请求委托处理每个HTTP请求。

      个人:对Http请求进行操作的逻辑块。逻辑块可以调用另外一个,也可以马上中断返回。

十二个 ASP.NET Core 例子——中间件

   2.创建中间件

创建中间件主要的操作函数:Run,Use,Map

Run:终止管道,返回response之前的一次逻辑操作

Use:逻辑操作,可以调用下一个中间件

Map: 根据地址的不同,操作不同的逻辑

注意点:如果在use中 调用下一个中间件,而这个中间是run,并且,在run后面还有中间件,那么use的所有逻辑都会处理完,而不是直接中断返回

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.Use(async (context, next) =>
            {
                await context.Response.WriteAsync("use1 ");
                await next();
                await context.Response.WriteAsync(" use2");
            });

            app.Run(async context =>
            {
                await context.Response.WriteAsync("run ");
            });
        }
View Code

相关文章: