如何判断中间件是否包含 Run()?



有没有办法在 ASP.NET 核心中判断任何给定的中间件是否将包含将停止管道的Run()调用?似乎UseMvc()是一个大问题,但我什至不确定,我只是继续阅读它需要在最后进行,我认为这是因为它包含对Run()的调用。

也许有一种方法可以为当前使用的所有中间件生成管道的可视化,显示哪个中间件包含Run()调用?

除了阅读每个特定中间件的文档之外,没有确定的方法可以判断。

在对我问题的评论中引用它:

  1. 不仅 Run(),而且 MapWhen() 也会终止进程。此外,任何人都可以创建一个自定义中间件,该中间件不会调用下一个委托,然后导致终止。
  2. 中间件的职责是确定是否需要调用下一个。除了阅读文档/源代码之外,没有内置的方法来可视化管道。这是因为所有中间件都将在启动时构建到单个最终委托中。当有传入消息时,最终委托将用于处理请求。作为一名程序员,我们知道中间件将做什么,我们知道它分支的时间,我们知道它终止的时间,那是因为我们编写了代码。但是程序在实际运行之前不会知道它,因为最后一个委托是在启动时构建的。

最新更新