gpt4 book ai didi

c# - StructureMap 生命周期范围

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:05 24 4
gpt4 key购买 nike

在 Unity 中,有(至少曾经有;没有检查较新的版本)“单例每次解析”生命周期范围。 StructureMap 是否有等效项?

为了进一步解释,假设我们有:

public class Parent
{
public Parent(ChildA childA, ChildB childB) { }
}

public class ChildA
{
public ChildA(IFoo foo)
}

public class ChildB
{
public ChildB(IFoo foo)
}

我做了一个:

container.GetInstance<Parent>();

有没有办法配置 StructureMap,使 IFoo 的注入(inject)是同一个实例,但只针对每个 GetInstance()?

最佳答案

我必须在 my book 中查找它,但这称为 PerRequest,实际上是默认的生活方式。

下面是一个使用 StructureMap 2.6.4.1 的测试来证明这一点:

[<Fact>]
let DefaultLifetimeIsPerRequest() =
use container = new Container(fun r -> r.For<IFoo>().Use<Foo>() |> ignore)
let actual = container.GetInstance<Parent>()
test <@ actual.ChildA.Foo = actual.ChildB.Foo @>

关于c# - StructureMap 生命周期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22197743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com