我想要切换服务实现。通过使接口继承IDependency并简单地用以下方式标记实现,这很容易做到:
[OrchardFeature("MyFeature")]
[OrchardSuppressDependency("MyService1")]
我有几个理由不能使用IDependency:
因此,实现需要具有显式的autofac注册。要进行功能切换,我需要创建2个autofac注册模块并进行功能切换。
我的问题是:这是首选方法吗?有没有其他方法可以建议切换这些autofac注册功能?
答案 0 :(得分:3)
自定义Autofac模块确实是您需要执行更复杂注册(如命名或截获的注册等)的首选方式。我们在Orchard核心中使用了很多。
Orchard中的Autofac模块可以成为OrchardFeature
和OrchardSuppressDependency
属性的主题,这使得它在需要自定义时非常强大且易于使用。