使用Castle Windsor为单个界面注册多个组件

时间:2009-11-23 17:23:35

标签: c# nhibernate castle-windsor

我正在尝试使用下面的代码注册多个NHibernate ISessions(多个数据库)。我收到“有一个组件已经注册了给定的键Castle.MicroKernel.Registration.GenericFactory`1 [[NHibernate.ISession,NHibernate,Version = 2.1.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4]]”作为错误尝试构建容器时的消息。

container.Kernel.Register(
    Component.For<ISession>().LifeStyle.Transient
        .UsingFactoryMethod(() => sessionFactoryOne.OpenSession()
        ).Named("ISession+sessionOne"));

container.Kernel.Register(
    Component.For<ISession>().LifeStyle.Transient
        .UsingFactoryMethod(() => sessionFactoryTwo.OpenSession())
         .Named("ISession+sessionTwo"));

1 个答案:

答案 0 :(得分:1)

这是fixed a couple of months ago。请从buildserver获取最新版本。