任务27:Middleware管道介绍
任务27:Middleware管道介绍
HttpContext
图中注册了三个中间件,所有httpContext就会在这三个管道上都执行HttpContext,会在Reponse里面写一些东西。所有东西会叠加到HttpContext的Reponse当中,最后返回给我我们的Reponse中。
接收一个RequestDelegate,再返回一个RequestDelegate
app.Use(next=>{ return (context)=>{ context.Response.WriteAsync("2: in the middle of start..."); return next(context); }; });
使用app.use注册middleware(中间件)
dotnet run 运行程序
如果我们第二步不执行next方法的话。那么输出的结果
后面的middleWare就不会执行了。
app.Map方法:提供给我们一个路由的机制,这个和后面讲到的路由的middleware是相关的
比如说我们传到/Task 他会提供给我们一个Action
接收了一个ApplicationBuilder
Map我们要写在前面,否则管道就被截断了
http://localhost:5000/task 我们只有在浏览器中输入/task才能看到我们的中间件输出的结果。
这种方式是后面我们用来构建路由的基础。
这就是我们讲的APplicationBuilder的用到的三个方法 use、run、map注册中间件的三个方法