我们有一种情况,我们的应用程序有许多模块实现api。这些模块中的每一个都有一个依赖关系,依赖关系取决于正确配置的数据目录路径。在配置路径之前,不应构建这些模块。动态注册和取消注册Nancy路线/模块
我们还有一个模块,用于实现配置的设置和验证,包括配置上述路径。
我们想以某种方式'禁用'数据模块,直到配置可以被确认。例如,在启动时我们检查数据目录是否存在并且是有效的。另外,当用户通过配置模块保存更改时,我们会再次进行确认。回顾一下,用户设置数据目录,然后数据模块全部启用。当用户设置一个无效的数据目录(或者我们启动并且现有的目录无效),模块全部被禁用。
我们尝试在pipelines.BeforeRequest
上注册处理程序,但它没有帮助。实际上,我们实际上失败了,当南希实例化我们的模块作为填充RouteCache
的一部分时。我们需要阻止这个实例化,直到我们确认我们已经配置好了。
看来我们应该可以说“当某些条件为真时使用这组模块,并且当条件为假时使用这个其他组。南希人怎么会这样呢?