C# 将解析容器传递给已解析的类型
我正在使用和。使用这些包,可以向父容器注册类型,然后使用子容器创建控制器/服务。向层次结构CallifeTimeManager注册的类型限制为每个请求一个实例 我的类将C# 将解析容器传递给已解析的类型,c#,.net,unity-container,C#,.net,Unity Container,我正在使用和。使用这些包,可以向父容器注册类型,然后使用子容器创建控制器/服务。向层次结构CallifeTimeManager注册的类型限制为每个请求一个实例 我的类将IUnityContainer作为构造函数参数时遇到了一个问题。我是这样登记的 container.RegisterType<IFoo, Foo>(new InjectionConstructor(container)); container.RegisterType(新注入构造函数(容器)); 这将导致创建Foo
IUnityContainer
作为构造函数参数时遇到了一个问题。我是这样登记的
container.RegisterType<IFoo, Foo>(new InjectionConstructor(container));
container.RegisterType(新注入构造函数(容器));
这将导致创建Foo时引用父容器,而不是子容器。然后,如果我解析一个已向HierarchyCallifeTimeManager
注册的类型,我将获得第二个实例。此外,此实例将不会与子容器一起处理
是否有一种方法可以注册我的类型,以便它们接收用于解析它们的子容器?如果对象具有类型IUnityContainer的依赖项,它将自动注入解析容器。您不需要配置任何东西,它就可以工作。为什么要将容器注入到类中?通常,这表示在现代软件体系结构中Service Loopor的应用。如果将容器注入工厂类,我不会认为它是反模式。大概马克·希曼在他的博客里有一个不错的博客。但是后来我就不写工厂类了,而是让我来写。我刚刚发现了这一点。我现在正在进行测试,以确保我得到预期的行为。我知道必须有一个简单的方法。我只是不知道这有多容易。