在一个工作项目中,我已经确定子容器是一种比Typed Factories更好的方法(从逻辑的角度来看)来做我们需要做的事情。
我已经为要添加到根容器的多个子容器创建了配置。但是,我需要能够在运行时选择子容器,并根据我们的业务上下文将其用于注入。因此,每个容器都应该由业务上下文名称标识(在我们的WebAPI WindsorCompositionRoot中)。
看起来Castle在构建容器时不会允许我设置名称。允许名称的一个重载似乎试图从XML配置中提取,这不是我想要的。 (我不知道那里是否缺少某些内容。)name
属性是一个getter,没有setter,因此我无法在实例化后设置名称。
如何命名容器以便我可以使用GetChildContainer
轻松地将其拉出来?由于我们的项目结构的方式,试图保持对子容器的引用(甚至返回它)会有点痛苦 - 而且可能是一个糟糕的设计。