gpt4 book ai didi

.net - IWindsorContainer 作为类的参数

转载 作者:行者123 更新时间:2023-12-04 11:32:50 26 4
gpt4 key购买 nike

我有一个类,我想访问我的 IOC 容器(Windsor),但是我不想保留一个静态的 IWindsorContainer 属性——我希望容器将自身注入(inject)到任何需要 IWindsorContainer 的类中构造函数依赖。

我已经用 Unity 解决了这个问题,但是当我用 Windsor 容器尝试同样的事情时,它告诉我 IWindsorContainer 没有在容器中注册。

我认为我不能只注册 IWindsorContainer => WindsorContainer,因为这将导致容器创建一个新的(或不同的)自身实例以传递给我的类,并且该实例不会注册我的所有其他类型它。我也看不到构造容器的方法,在其中注册所有类型,然后针对 IWindsorContainer 注册它自身的实例——所有注册方法只接受服务和实现的类型——从来没有一个实际的具体实例。

最佳答案

通常,您不想将容器注入(inject)您的应用程序组件中。

看到这些问题(这个问题几乎是它们的重复):

  • Usage of IoC Containers; specifically Windsor
  • NInject: Where do you keep your reference to the Kernel?
  • IoC, Where do you put the container?

  • 顺便说一句 : 你得到 IKernel免费注入(inject),和你 可以注册 IWindsorContainer :
    container.Register(Component.For<IWindsorContainer>().Instance(container));

    关于.net - IWindsorContainer 作为类的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/673427/

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