代码之家  ›  专栏  ›  技术社区  ›  jessegavin

如何确定httpmodules的执行顺序?

  •  32
  • jessegavin  · 技术社区  · 14 年前

    假设两者 FirstModule SecondModule 处理 Application_BeginRequest 事件。它会按照web.config中定义的顺序执行吗?

    <httpModules>
      <add type="MyApp.FirstModule, MyApp" name="FirstModule"/>
      <add type="MyApp.SecondModule, MyApp" name="SecondModule"/>
      <add type="OtherApp.OtherModule, OtherApp" name="OtherModule"/>
    </httpModules>
    

    是否有其他方法可以指定订单?

    2 回复  |  直到 8 年前
        1
  •  33
  •   M4N    14 年前

    根据 this forum post ,httpmodules按注册顺序执行。这对我来说很有意义,因为否则 <clear> <remove> 指令也不会如预期的那样工作,例如,在这样使用时:

    <httpModules> 
       <clear/>
       <add... />
    </httpModules>
    
        2
  •  -1
  •   Matt Dearing    14 年前

    我认为您不能保证或指定httpmodules将运行的顺序。如果secondmodule依赖于firstmodule,那么最好将它们的功能组合成一个httpmodule。