Orchard CMS - 不使用 IDependency 时功能切换的首选方法

Orchard CMS - Preferred method for feature switching when not using IDependency

我想切换服务实现的功能。这很容易通过使接口继承 IDependency 并简单地标记实现来实现:

[OrchardFeature("MyFeature")]
[OrchardSuppressDependency("MyService1")]

我不能为此使用 IDependency 有几个原因:

因此,实现需要有一个明确的 autofac 注册。要进行功能切换,我需要创建 2 个 autofac 注册模块并进行功能切换。

我的问题是:这是首选方法吗?您是否可以建议使用另一种方法来切换这些 autofac 注册?

自定义 Autofac 模块确实是首选方式,以防您需要进行更复杂的注册(如命名或拦截等)。我们在 Orchard 核心中经常使用它们。

Orchard 中的 Autofac 模块可以是 OrchardFeature 以及 OrchardSuppressDependency 属性的主题,这使其成为需要自定义时非常强大且易于使用的解决方案。