gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:07:55 25 4
gpt4 key购买 nike

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

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

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

  • 我需要在我的实现中注入(inject)命名服务
  • 拦截器需要与服务一起使用

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

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

最佳答案

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

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

关于c# - Orchard CMS - 不使用 IDependency 时功能切换的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30097146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com