问题标签 [ioc-container]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4456 浏览

inversion-of-control - 使用 Spring.Net 属性注入数组

我一直在使用 Spring.Net IoC 容器,并且可以使用它来注入 type 的属性,IListIList<T>我对如何注入 type 的属性有点困惑string[]

XSD 中似乎没有<array>定义元素,并且 using<list> <value> </list>也不起作用。

如果有人可以发布我需要使用数组为属性注入的xml,将不胜感激

0 投票
1 回答
1439 浏览

.net - .NET IoC - .NET Unity 的等效代码

在这篇 Autofac IoC文章中,他们展示了一个将接口映射到带有参数的实现的示例。你会在文章的中途找到它。

XML 中的 Unity 等价物是什么?不能使用流利的语法来做我正在做的事情。需要是外部配置文件。

更新
这是我想知道如何在 Unity 中执行的特定代码 -

以这种方式传递连接字符串可能不是最好的例子......但你明白了。我想知道如何在 Unity 中用 XML 做参数。

0 投票
2 回答
1545 浏览

asp.net - Ninject、ASP.NET 和自定义控件

我目前正在使用 ASP.NET(标准,而不是MVC)并且我使用 Ninject 作为我的 IOC 容器。

我已经在使用它将依赖项注入到我的页面中,但是,我想知道是否有办法将依赖项注入到我的自定义控件中?

如果没有,我将开始扩展 Ninject :)

0 投票
1 回答
353 浏览

linq-to-sql - linq2sql 使用依赖注入?

有谁知道如何使用 linq2sql 进行依赖注入。这是我的情况..

我会在这里尽我所能解释。

我有一个基类,它有一个 DBML(linq2sql)和类等。这个 DBML 对多个项目来说是常见的。。每个项目都有自己的 DBML,但是我正在使用的通用 dbml 中的所有表等在基类中 - 这有意义吗?!

我的每个项目都通过继承基类并扩展它来创建一个新类......但是我当然需要重新注入我的 dbml,因为我在项目中专门使用的 dbml 具有 COMMON 中的所有功能,然后是一些

我在这里有点迷路..任何人都知道如何做到这一点..我希望我解释得足够好:-)

我希望使用统一或类似的东西,由 linq2sql 创建的类似乎没有实现接口……这会是 DI 的问题吗?

谢谢

0 投票
2 回答
1225 浏览

castle-windsor - winsdor 使用构造函数参数注册泛型类型

我有这样的东西

}

所以我需要在winsdor中注册这个泛型并给他一个参数

我一直在尝试这样做:

我收到以下错误

无法创建组件“key1”,因为它需要满足依赖项。key1 正在等待以下依赖项:

键(具有特定键的组件)- 未注册的 cs。

0 投票
4 回答
3894 浏览

c# - 使用 ASP.NET MVC 的每个会话生活方式的城堡项目

我对 Castle Windsor IoC 容器真的很陌生。我想知道是否有一种方法可以使用 IoC 容器存储会话变量。我在想这样的事情:

我想要一个类来存储搜索选项:

然后将其注入到必须使用它的类中:

然后在我的 web.config 中,我配置城堡的地方,我想要类似的东西:

并让 IoC 容器处理会话对象,而无需自己显式访问它。

我怎样才能做到这一点?

谢谢。

编辑:一直在做一些研究。基本上,我想要的是拥有一个 session Scoped 组件。我来自 Java 和 Spring Framework,我有会话范围的 bean,我认为它们对于存储会话数据非常有用。

0 投票
1 回答
3470 浏览

asp.net - Autofac、ASP.NET 和 Microsoft.Practices.ServiceLocation

我一直在研究在我的 Web 应用程序中实现 IoC 的细节,但以一种利用 Microsoft.Practices.ServiceLocation 的方式。我专门使用 Autofac 和 asp.net 集成,但我想让自己对其他容器开放。按照这个问题,我担心如何在我的网络应用程序代码中访问容器。

我有一个“核心”库,主要定义要解析的接口。我的网络应用程序和其他应用程序也使用这个核心库。定义通用接口非常方便。我认为这是一个访问 IoC 容器的好地方,我使用静态类做到了这一点。诀窍是将容器注入静态类。

在 Web 环境中这很棘手,因为每个请求的容器可能不同,而在非 Web 应用程序中,它可能一直都是相同的。起初我尝试使用一种方法直接注入容器,但在下一个 Web 请求中很快就失败了!所以我想出了这个:

现在在我的 global.asax.cs 我这样做:

解决依赖的呼吁看起来像

因此,我没有传递一个特定的容器,而是传递一个知道如何获取容器的委托。对于非 Web 应用程序,委托可能只会返回 builder.Build() 提供的内容。

我对专家的问题是,这有意义吗?我有一种简单的方法可以解决依赖关系,而无需知道容器产品是什么或容器本身来自何处。你怎么看?

0 投票
2 回答
2981 浏览

c# - 构造函数解析顺序是什么?

当存在多个构造函数时,Castle Windsor 如何确定要解析哪个构造函数?

0 投票
4 回答
6801 浏览

c# - Unity 的自定义对象工厂扩展

我正在使用 Unity IoC 容器,我需要拦截对某个基本接口的任何对 Resolve 的调用,并运行我自己的自定义代码来构造这些类型。

换句话说,在下面的示例代码中,当我调用 时container.Resolve<IFooN>(),如果它没有具体实现类型的实例,则调用MyFactoryFunction构造一个实例,否则我希望它返回缓存的副本。

标准 Unity 容器无法构造这些对象(更新:因为它们是 .NET 远程处理对象,因此本地计算机上的任何程序集中都不存在具体类),我不想预先创建它们并且将它们与 RegisterInstance 一起存储。

我假设我可以创建一个 Unity 扩展来执行此操作,但我想知道是否已经有可以借用的解决方案。

0 投票
2 回答
141 浏览

dependency-injection - DI Container:从相同类型的集合中注入正确的组件?

我正在尝试基于构造函数注入在 PHP 中破解我自己的依赖注入容器。容器实例化复杂对象,并使用反射根据构造函数中的类型提示向它们注入所需的对象。

我显然偶然发现的一件事是我可以注册多个可以注入的相同类型的组件(扩展相同的类/实现相同的接口)。例如,如果两个对象都需要实现 Iterator 接口的不同对象怎么办。DI Containers 通常如何处理这个问题?如何让容器决定哪些接口不明确的对象需要注入到哪些复杂对象中?

还是单个 DI 容器只负责创建一种类型的复杂对象?换句话说:为每个复杂对象实例化一个不同的 DI 容器。我很难想象这是意图,对吧?