任务27:Middleware管道介绍

任务27:Middleware管道介绍-LMLPHP

HttpContext

图中注册了三个中间件,所有httpContext就会在这三个管道上都执行HttpContext,会在Reponse里面写一些东西。所有东西会叠加到HttpContext的Reponse当中,最后返回给我我们的Reponse中。

任务27:Middleware管道介绍-LMLPHP

接收一个RequestDelegate,再返回一个RequestDelegate

app.Use(next=>{
return (context)=>{
context.Response.WriteAsync("2: in the middle of start...");
return next(context);
};
});

接收RequestDelegate

使用app.use注册middleware(中间件)

任务27:Middleware管道介绍-LMLPHP

dotnet run 运行程序

任务27:Middleware管道介绍-LMLPHP

如果我们第二步不执行next方法的话。那么输出的结果

任务27:Middleware管道介绍-LMLPHP

后面的middleWare就不会执行了。

任务27:Middleware管道介绍-LMLPHP

app.Map方法:提供给我们一个路由的机制,这个和后面讲到的路由的middleware是相关的

比如说我们传到/Task 他会提供给我们一个Action

接收了一个ApplicationBuilder

Map我们要写在前面,否则管道就被截断了

任务27:Middleware管道介绍-LMLPHP

http://localhost:5000/task 我们只有在浏览器中输入/task才能看到我们的中间件输出的结果。

任务27:Middleware管道介绍-LMLPHP

这种方式是后面我们用来构建路由的基础。

这就是我们讲的APplicationBuilder的用到的三个方法 use、run、map注册中间件的三个方法

05-21 01:41