首页 > 其他分享 >中间件执行顺序(管道)

中间件执行顺序(管道)

时间:2023-07-30 09:01:18浏览次数:28  
标签:顺序 RequestDelegate App 中间件 管道 static context using

 1 using System.Threading.Tasks;
 2 using Microsoft.AspNetCore.Hosting;
 3 using Microsoft.AspNetCore.Http;
 4 using Microsoft.Extensions.Hosting;
 5 
 6 namespace ConsoleApp2
 7 {
 8     public static class Sample02
 9     {
10 
11         public static void Start()
12         {
13 
14             var host = Host.CreateDefaultBuilder()
15                 .ConfigureWebHostDefaults(builder => builder
16                     .Configure(app => app
17                         .Use(Middleware1)                           //使用中间件
18                         .Use(Middleware2)
19                     )
20                 ).Build();
21             host.Run();
22         }
23 
24         private static RequestDelegate Middleware1(RequestDelegate next)
25         {
26             async Task App(HttpContext context)
27             {
28                 await context.Response.WriteAsync("Middleware 1 Begin.");     //Step 1
29                 await next(context);                                         //跳转到下一个中间件
30                 await context.Response.WriteAsync("Middleware 1 End.");       //Step3
31             }
32 
33             return App;
34         }
35 
36 
37         private static RequestDelegate Middleware2(RequestDelegate next)
38         {
39             async Task App(HttpContext context)
40             {
41                 await context.Response.WriteAsync("Middleware 2 Begin.");        //没有就返回 //Step2
42             }
43 
44             return App;
45         }
46     }
47 }

 

 

标签:顺序,RequestDelegate,App,中间件,管道,static,context,using
From: https://www.cnblogs.com/zzhpebg/p/17590971.html

相关文章

  • Go语言中init函数执行的顺序
    init函数的执行规则:对于同一个go文件,init函数的执行顺序从上到下,即在代码中先出现的init函数会先执行。对于同一个package,不同文件是按照文件名字符串比较的结果决定执行顺序的,字符串越小的文件越早被初始化。对于不同的package,如果不相互依赖,则按照import的顺......
  • .NET Core 6.0 自定义异常处理中间件配置
    异常处理的几种方式:1、通过异常过滤器捕获异常进行处理2、自定义异常处理中间件,自定义异常处理中间件,中间件依托于请求管道运行,并且中间件的执行是有序的,与业务隔离开的,将中间件放置在请求管道开始能够捕获到全局异常。 配置异常处理中间件:1、编写自定义异常处理中间件,Cust......
  • 管道液位传感器的工作原理图
    管道光电液位传感器是一种有效解决传统机械式传感器低精度和卡死失效问题的新型传感器。它也解决了电容式传感器感度衰减导致的不可控性失效问题。该传感器利用红外光学组件,通过设计形成感应线路,能够判断水与空气中的光折率差异,从而快速稳定地做出状态判断。管道光电液位传感器在许......
  • Hosting 与管道
    Hosting主机/托管长时间运行的服务寄宿在托管进程托管服务==服务托管主机任何需要在后台长期运行的服务 usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;usingMicrosoft.Extensions.Depen......
  • CommandLineRunner、ApplicationRunner、InitializingBean、@PostConstruct 执行顺序
    概述开发中可能会有这样的场景,需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求,两个启动加载接口分别是:CommandLineRunner和ApplicationRunner。Spring提供了接口InitializingBean,jdk提供了@PostC......
  • 使用 docker 部署 mycat 中间件配置数据库读写分离、分库分表
    文章目录前言配置镜像配置文件server.xml服务配置文件,包含登录用户配置schema.xml逻辑表配置rule.xml分片规则将这三个配置文件放置到固定的位置,方便后面使用启动dockercomposedockercompose启动测试前言之前有一篇博客已经在docker中将mysql的主从配置讲述了,没有看的童......
  • 剑指 Offer 58 - I. 翻转单词顺序(简单)(简单个屁!)
    题目:classSolution{public:stringreverseWords(strings){//该方法利用递归栈的逆序将单词逆序stringword;//保存一个完整的单词if(s.empty())returnword;inti=0;while......
  • vue-router钩子执行顺序
    Vue的路由在执行跳转时,根据源码可知,调用了router中定义的navigate函数functionpush(to:RouteLocationRaw){returnpushWithRedirect(to)}functionreplace(to:RouteLocationRaw){returnpush(assign(locationAsObject(to),{replace:true}))}functionpush......
  • openpyxl模块------------------比对数据(不同顺序相同的数据)
    任务目的从data.xlsx中获取姓名,学号字段,然后在find.xlsx中根据姓名查找000字段,将匹配到的000字段,姓名和学号字段写入保存到新文件中。思路过程核心模块:openpyxl读取data.xlsx文件,然后遍历所有行,将姓名和学号保存到字典1中。读取find.xlsx文件,遍历所有行,将姓名和000保存到字典2......
  • ASP.NET Core 授权中间件 AuthorizationMiddleware
    ///<summary>///Amiddlewarethatenablesauthorizationcapabilities.///</summary>publicclassAuthorizationMiddleware{//AppContextswitchusedtocontrolwhetherHttpContextorendpointispassedasaresourcetoAuthZ......