如何在Windsor中动态命名组件?

时间:2011-12-01 13:00:14

标签: c# inversion-of-control castle-windsor castle

当Resolve方法调用时,我需要动态命名。

我的注册:

container.Register(Component.For<IWorker>()
                                   .ImplementedBy<Worker>()
                                   .LifeStyle.Singleton);

我的示例解析过程:

container.Resolve<IWorker>("Singleton instance 1"); //Singleton instance 1 not defined but it can definable dynamically when Resolve called
container.Resolve<IWorker>("Singleton instance 2");
container.Resolve<IWorker>("Singleton instance 1"); // same instance with first resolved instance

如何在Windsor中动态命名组件?

1 个答案:

答案 0 :(得分:1)

听起来你需要一种自定义的生活方式 - 就像每个“钥匙”一样(无论这个钥匙是什么)。我会研究这种方法,而不是试图强制一种预定义的生活方式适合您的场景或在创建组件后命名它。