我正在编写一个 httpModule,计划是将模块附加到PreRequestHandlerExecute事件,而我看到已经存在附加到同一事件的模块。
我的问题是注册到同一事件的 httpModules 的执行顺序是什么?
如果在这种情况下PreRequestHandlerExecute注册到同一个事件,有没有办法可以控制 httpModules 的执行顺序?
我正在编写一个 httpModule,计划是将模块附加到PreRequestHandlerExecute事件,而我看到已经存在附加到同一事件的模块。
我的问题是注册到同一事件的 httpModules 的执行顺序是什么?
如果在这种情况下PreRequestHandlerExecute注册到同一个事件,有没有办法可以控制 httpModules 的执行顺序?
根据 ASP.NET 论坛: ASP.NET 按照 web.config 中定义的顺序触发 http 模块。
还请注意此评论(同一论坛帖子):
正如其他人指出的那样,您永远不应该依赖链中模块的顺序。
如果您有依赖项和需要在自己的模块中处理的特定订单,那么您可能需要将这些模块合并到一个模块中,并在内部通过您自己的代码处理订单。
通过 rstrahl。
我完全同意这一点,所以你应该尽可能地保持你的模块独立。