中间件组件的主要目的是以某种方式改变和筛选数据流(在某些特定情况下,只是使请求短路,停止任何进一步的处理)。
中间件管道执行示意图
ASP.NET Core 请求管道包含一系列请求委托,依次调用
中间件顺序
下图显示了 ASP.NET Core MVC 和 Razor Pages 应用的完整请求处理管道。 你可以在典型应用中了解现有中间件的顺序,以及在哪里添加自定义中间件。 你可以完全控制如何重新排列现有中间件,或根据场景需要注入新的自定义中间件。
IActionFilter筛选器在自定义的Middleware后执行。
下图展示了筛选器类型在筛选器管道中的交互方式: