任务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);
                };
            });
接收RequestDelegate

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

dotnet run 运行程序

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

后面的middleWare就不会执行了。

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

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

接收了一个ApplicationBuilder

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

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

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

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

原文地址:https://www.cnblogs.com/wangjunwei/p/10366907.html