【问题标题】:What is the rationale behind applying IStartup filter in reverse order以相反顺序应用 IStartup 过滤器的原理是什么
【发布时间】:2021-02-20 15:48:43
【问题描述】:

在 Asp.net 核心中,所有中间件都按照配置的顺序应用。但是,IStartupFilters 以与定义相反的顺序应用,如lines 92-95 in this 所示。 即使在应用程序开始时应用了 IStartupFilters,为什么需要颠倒顺序?

过滤器注册顺序示例,表明由于反转,asp.net 核心启动过滤器将最后运行。

【问题讨论】:

    标签: asp.net-core asp.net-core-middleware


    【解决方案1】:

    this GitHub issue 讨论了基本原理。

    本质上就是保证IStartupFilters按照“先注册,先运行”的顺序运行,与中间件的执行顺序一致。除了一致性的好处之外,它还确保了默认框架注册的IStartupFilters 在用户注册的之前运行(这一点不再有效,因为默认的IStartupFilters 在版本 3.0 中已经全部删除)。

    【讨论】:

    • 非常感谢您在这里的评论,但我无法看到反向如何帮助 FIFO。我编辑了问题以包含一个屏幕截图,其中由于反转,.net 核心过滤器将在用户注册后运行
    猜你喜欢
    • 2011-12-17
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2016-10-05
    • 2018-08-02
    • 2010-09-08
    相关资源
    最近更新 更多