DryIoc,如果设置默认值,如何注册transcient重用(aka null)?

时间:2016-04-18 06:51:49

标签: dryioc

使用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
        );

1 个答案:

答案 0 :(得分:1)

目前你无法直接克服这个问题。我认为这是一个问题,并将打开相应的问题。

在解决之前,您可以使用其他重用而不是Transient作为解决方法。根据你最接近尝试的情况将是Reuse.InResolutionScope。如果您通过Resolve方法解析控制器(或基础设施为您执行此操作),它将表现为瞬态。

更新:以下是issue