使用dryIoc我已经注册了我的容器:
var container = new Container(rules => rules
.WithoutThrowOnRegisteringDisposableTransient()
.WithDefaultReuseInsteadOfTransient(Reuse.Singleton)
);
但是,我必须注册transcient元素,并且由于Reuse.Transcient
== null,它将被默认的I set(因此Reuse.Singleton
)替换。我怎么能克服这个?
container.Register(Made.Of(() => new CandidateController(
Arg.Of<IList<string>>("countryIsos")
)),
Reuse.Transient
);
答案 0 :(得分:1)
目前你无法直接克服这个问题。我认为这是一个问题,并将打开相应的问题。
在解决之前,您可以使用其他重用而不是Transient作为解决方法。根据你最接近尝试的情况将是Reuse.InResolutionScope。如果您通过Resolve方法解析控制器(或基础设施为您执行此操作),它将表现为瞬态。
更新:以下是issue。