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/