目录:
- 什么是中间件(IApplicationBuilder)
- 创建
- 顺序规则
- Asp.Net Core 内置的中间件
1.什么是中间件
官方:中间件是组装成应用程序管道以处理请求和响应的软件。每个组件选择是否将请求传递给流水线中的下一个组件,并且可以在管道中调用下一个组件之前和之后执行某些操作。请求代理用于构建请求管道。请求委托处理每个HTTP请求。
个人:对Http请求进行操作的逻辑块。逻辑块可以调用另外一个,也可以马上中断返回。
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 "); }); }