Ninject transient 范围

标签 ninject

Ninject transient 作用域仅在构造类时应用一次:

class InjectedClass
{
  [Inject]
  public IClass Instance { get;set;}
}

从 InjectedClass 方法对 Instance 属性的任何调用都将引用 IClass 的同一实例。是否可以每次都返回一个新的实例?我没有对 IKernel 的引用。

最佳答案

在这种情况下,您需要工厂模式。您不是注入(inject)类型的实例,而是注入(inject)工厂对象,然后调用该方法。使用一个简单的例子:

 [Inject]
 public ISomeFactory SomeFactory { get; set; }

 public IClass Instance
 {
     get { return SomeFactory.CreateNew(); }
 }

关于Ninject transient 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821160/

相关文章:

c# - Web Api - Controller 外部请求参数

c# - Ninject - 如何在范围内保存常量?

c# - 有没有一种简单的方法可以在我的连接上使用依赖注入(inject)?

ninject继承接口(interface)

.net - ninject 被视为容器吗?

c# - 是否可以更改 MEF 创建导入对象的方式?

c# - Ninject 按参数名称绑定(bind)

asp.net-mvc-3 - ASP.NET Web API Ninject 构造函数注入(inject)自定义过滤器和属性

ninject - 使用 Ninject,我将如何使用当前范围内的对象来确定它是否仍在范围内?

c# - 使用 Ninject 的 .NET MVC 依赖注入(inject)