.NetCore 管道中间件执行顺序
大家可以从图片中看到执行顺序就是在第一个中间件中执行第一步,然后执行第二个中间件的第一步,然后执行第三个中间件,之后返回执行第二个中间件的第二部在执行第一个中间件的第二部,整体像绕了一个圈子。
public void Configure(IAppliactionBuilder app,IWebEnvironment env,ILogger<Startup> logger)
{
if(env.IsDevelopment()){ app.UseDevelopExceptionPage();};
app.Use(async(context,next)=>{ logger.LogInformation("M1request");await next(); logger.LogInformation("M1response");});
app.Use(async(context,next)=>{ logger.LogInformation("M2request");await next(); logger.LogInformation("M2response");});
app.Run(async context=>{ context.Response.WriteAsync("M3"); logger.LogInformation("M3处理请求"); });
}