流浪のwolf

卷帝

导航

什么是中间件

中间件是装配到应用管道以处理请求和响应的软件,每个组件:

选择是否将请求传递到每个管道的下一个组件,可以在管道中的下一个组件前后执行工作 ;

使用RunMap和Use扩展方法来配置请求委托;

 

请求委托用户生成请求管道,处理每个请求,每个中间件 选择是否将请求传递到管道的系一个人组件 在管道中的下一个组件的

前后执行工作;

请求管道短路

 

默认的中间件:  错误处理  静态文件服务器(图片)  身份验证  MVC

中间件 和 拦截器相似,都可以阻断请求和处理请求 数据;

next 作用:是否允许指定下一个中间件  如果某个中间件没有 next 就不会执行下面的中间件

配置HTTP管道   Run  Use  Map   MapWhen

Run  方法可以短路管道,因为不会调用 next 请求委托  ;

app.Run(() => {

  await context.Response.WriteAsync("Hellow 1");

})

app.Use((context,next) => {

  1. 处理业务

  await next.Invoke();   // Invoke 指的是委托的调用;

})

当前的next 就是下一个中间件的委托方法是否执行;

将多个请求委托链接在一起,next参数表示管道的下一个请求委托;

在管道中,可以使用不调用next参数来终止或短路管道;

 Map 方法用于匹配基于请求路径的请求委托  只接受路径 并配置单独的中间件管道的功能;

app.Map("/api",MapApi);  Map : 参数1 匹配地址  参数2 指定匹配的中间件;

private void MapApi(IApplication app){

  app.Run(async context => await context.Response.WriteAsync("123"))

}

 

posted on 2023-11-05 09:16  流浪のwolf  阅读(3)  评论(0编辑  收藏  举报