【问题标题】:How to inject dependency with parameter in Orchard CMS如何在 Orchard CMS 中使用参数注入依赖项
【发布时间】:2017-08-15 08:40:50
【问题描述】:

我有一个通信服务,以 ip 地址作为构造函数参数来指示连接位置。

我想知道我是否可以在运行时将该服务注入到具有不同 IP 地址的控制器中。

我使用的所有注入服务至少都有一个无参数构造函数。我知道 autofac 可以使用 TypedParameter 或 NamedParameter 解析类型以将运行时参数传递给构造函数。但我无法将 autofac 容器(IContainer)注入我的 orchardcms 服务或控制器。

【问题讨论】:

  • 我认为这行不通。为什么在构造函数中需要IP地址?
  • ip可以由用户自定义。它会在运行时改变。所以应用启动时无法初始化通信服务

标签: dependency-injection orchardcms


【解决方案1】:

依赖注入是关于注入行为,而不是数据。这是一项配置工作。您应该查看使用配置的现有 Orchard 功能的任何示例。

【讨论】:

    【解决方案2】:

    基本上你需要的是参数化实例化。

    请阅读以下问题的答案:Autofac runtime parameters

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 2011-11-22
      • 2019-12-06
      • 1970-01-01
      • 2019-04-18
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多