6.ASP.NET Core2.2_中间件

中间件(Middleware)

在asp.net core中, 中间件是可以处理hppt请求或者响应的管道。它是服务于整个应用管道之中很重要的过程。比如:要处理用户权限的验证和拦截一些用户的异常给用户友好提示等都要用中间件做处理。

在 ASP.NET Core 中,你可以使用 Middleware 构建你的请求处理管道。 ASP.NET Core 中间件为一个 HttpContext 执行异步逻辑,然后按顺序调用下一个中间件或者直接终止请求。一般来说你要使用一个中间件,只需要在 Configure 方法里调用 IApplicationBuilder 上一个对应的 UseXYZ 扩展方法。

ASP.NET Core 带来了丰富的内置中间件,如:
静态文件(Static files)
路由(Routing)
身份验证(Authentication)
你也可以创建你自己的 自定义中间件。

你也可以在 ASP.NET Core 中使用任何基于 OWIN 的中间件。查看 OWIN 获取更多信息。

中间件特点

可同时被访问和请求

可以处理请求后,将请求传递给下一个中间件

可以处理请求后,使管道短路

可以传出响应

中间件是按照添加顺序执行的

中间件流程:

用户发送http请求,经过管道里的所有中间件处理后才到MVC,MVC处理后将数据原路从经过的中间件中返回。可以将管道里的每个中间件理解为处理数据的一个环节。
image

比如:
Startup类的Configure方法里使用Run中间件。这样所有http请求都只能收到一个hello world字符串。

            //Run中间件像下面这样写,不管你的任何一个http请求发送过来,都只干一件事,就是拦截请求并返回一个string类型的hello world在客户端页面。
            app.Run(async (context) =>
            {
                //打印到浏览器
                await context.Response.WriteAsync("hello world");
            });
posted @ 2022-04-17 14:55  青仙  阅读(37)  评论(0编辑  收藏  举报