Nancy中应用程序和模块管道之间的区别?

问题描述:

我在Nancy的文档中看到过,有时这两个是有区别的。Nancy中应用程序和模块管道之间的区别?

这两个管道的Before/After钩子还有区别吗?

module-application管道在维基中有详细的解释。

它基本上是在全局(应用程序管道)和每个模块的基础上执行路由前后执行的钩子。这里有一个例子:如果路由解析为一个名为FooModule模块

,如下的管道将被调用:

  • 应用管道之前
  • FooModule管道
  • FooModule路由处理
  • 之前
  • 管道后的FooModule
  • 管道后的应用

管道之前和之后的区别在于,在管道之前,您可能会“短路”请求处理。即你可以返回一个响应,直接返回给用户代理,甚至不需要调用潜在的路由处理器。