2009-11-23 98 views
2

我想通過使用下面的代碼註冊多個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")); 
+0

這是bizzare。你正在使用哪個版本?如果在.UsingFactoryMethod()之前移動.named(),會發生什麼? – 2009-11-23 18:06:26

+0

我使用的是2.0.0.5642版本當我在工廠方法之前移動.Named()時,我得到了同樣的結果。 – beckelmw 2009-11-23 18:16:01

回答

相關問題