我想通過使用下面的代碼註冊多個NHibernate ISessions(多個數據庫)。我得到「有一個組件已經註冊爲給定的密鑰Castle.MicroKernel.Registration.GenericFactory`1 [[NHibernate.ISession,NHibernate,Version = 2.1.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4]]」作爲錯誤當容器試圖建立時的消息。使用Castle Windsor註冊單個接口的多個組件
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"));
這是bizzare。你正在使用哪個版本?如果在.UsingFactoryMethod()之前移動.named(),會發生什麼? – 2009-11-23 18:06:26
我使用的是2.0.0.5642版本當我在工廠方法之前移動.Named()時,我得到了同樣的結果。 – beckelmw 2009-11-23 18:16:01