我在控制台项目中创建了一个简单的自托管Nancy站点,其中包含一个模块。在测试时,我注意到每个请求都会调用模块构造函数。这让我感到困惑,因为ctor也是路线注册的地方。这对我来说没有意义,我必须遗漏一些东西。那么在每个请求上调用模块构造函数,并且所有路由都在每个请求上重新注册吗?
答案 0 :(得分:7)
排序 - Nancy将在启动时构建所有模块,注册所有路由并构建路由树。对于每个请求,它将确定它需要哪个模块并使用请求容器构造它,因此请求范围的依赖关系具有正确的生命周期,然后执行相关的操作。这些路线没有注册"每个请求,它们只存储在模块的集合中,引擎执行正确的。