问题标签 [ninject]

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 回答
421 浏览

.net - Ninject 适合生产应用吗?

想知道是否有人在生产应用程序中使用过 Ninject?应该注意哪些优点和缺点?

0 投票
1 回答
155 浏览

inversion-of-control - 您可以使用 StructureMap 2.5.3 进行基于约定的绑定吗?

我发现 Ninject 的最佳特性之一是基于约定的绑定。例如。

http://ninject.codeplex.com/Wiki/View.aspx?title=Conventions-Based%20Binding&referringTitle=Home

这在 StructureMap 2.5.3 中是否可行?

谢谢

0 投票
2 回答
2358 浏览

ninject - 寻找与 StructureMap 的 ObjectFactory.GetInstance() 方法等效的 Ninject

我在 MVC 项目中使用 Ninject,并且在 Ninject.Mvc 中使用了自动注册功能,并在我的应用程序类中设置了绑定。但是,我有一个地方要创建一个与这些绑定分开的实例。在 StructureMap 中,您可以做var foo = ObjectFactory.GetInstance<IFoo>();,它会为您解决。Ninject 2中是否有等价物?我似乎无法在任何地方找到它。

0 投票
1 回答
458 浏览

dependency-injection - 在 Ninject v1 中重置 IKernel

我在使用 Ninject v1 和重置 StandardKernel 时遇到问题。我有一个静态对象,我用它来提供对内核的访问,就像这样

当我尝试在各种单元测试(我使用 MSTest)或健身装置中使用 ObjectFactory 时,问题就出现了。我总是在每个新的测试或夹具之前调用 ObjectFactory.Reset() 方法,但有时看起来重置实际上并没有工作,而是保留了原始绑定。我知道有一种方法可以在 Ninject v2 中重置 IKernel 对象,但我们还没有准备好采取行动(这对我们来说是一个相当重要的举措)。

有人可以就为什么会发生这种情况提供一些建议吗?我猜这与在不同跑步者的不同线程上执行测试的方式有关,但我该如何避免呢?

提前致谢

0 投票
1 回答
1703 浏览

ninject - 创建了一个继承自 NinjectModule 的类,现在加载到哪里?

创建一个从 NinjectModule 继承的类,并用我的所有绑定调用覆盖 Load() 方法后,我应该在我的 asp.net Web 应用程序中的哪里设置 ninject?(MVC)

它是我必须创建的httpmodule吗?全球.asax?

0 投票
2 回答
5397 浏览

dependency-injection - Ninject:如何注入类库?

首先,我使用的是 Ninject 1.5。我有两个项目:Web 项目和一个类库。我的 DI 配置在 Web 项目中。在我的类库中,我定义了以下内容:

然后是一个名为CategoryCacheService的具体类。

在我的网络项目中,我绑定了两者:

在我的类库中,我有 HtmlHelper 类的扩展方法,例如:

有人告诉我,您不能注入静态属性,而是应该使用Kernel.Get<>() - 但是...由于上面的代码位于类库中,因此我无权访问内核。我怎样才能从这一点上获得内核,或者有更好的方法吗?

0 投票
3 回答
3884 浏览

c# - C#,Ninject:你把内核和你的模块放在哪里?

我正在创建一个小型 C# 应用程序,它目前由一个核心程序集和一个 winforms 程序集组成。我意识到在这样的小事情中我可能并不真的需要 Ninject,但我想尝试一下。

无论如何,要使用 Ninject,我知道您将编写一组模块,返回映射类等等。之后,您将创建一个实例IKernel并将您的模块加载到其中。

但是,我在哪里保存这些模块?我在哪里保存内核?东西去哪儿了?

0 投票
2 回答
120 浏览

ninject - NInject.Framework.Web 的源代码在哪里?

我找不到它:(

0 投票
3 回答
1969 浏览

constructor - 带有其他非依赖构造函数参数的构造函数注入

我是 IOC 容器的新手,我开始使用 NInject。

如果您希望您的构造函数具有不是服务且不需要由 IOC 容器实例化的参数,您会怎么做?

例如:

假设名称是 Person 类的要求,因此,为了确保 Person 始终具有名称,我们需要将其传递给构造函数。

我们如何使用 NInject 获得 Person 的实例?名称需要通过应用程序的任何部分来创建一个新的人,而 IOC 容器需要传入 IPersonRepository。

我知道可以使用属性来注入名称或存储库,但这不是一个干净的解决方案 - 我们正在失去一些编程语言的语义能力。

0 投票
3 回答
6937 浏览

assemblies - NInject 可以按需加载模块/程序集吗?

NInject 中是否有工具可以让我像在 Unity 中那样按需加载来自其他模块(程序集)的服务?