1

特定のファイルを探してDBに保存するWindowsサービスがあります。私はリポジトリ パターンを使用しており、DI には Castle Windsor を使用しています。

これが、NHibernate ISession と作業単位を登録する方法です。

 container.Register(
            Component.For<ISession>().UsingFactoryMethod(() => NHibernateSessionManager.Instance.GetSession()).LifeStyle.Transient);

            container.Register(
                Component.For<INHibernateSessionManager>().Instance(NHibernateSessionManager.Instance).LifestyleSingleton());

            container.Register(
                Component.For<IUnitOfWork<ISession>>().ImplementedBy<Data.Framework.Nhibernate.UnitOfWork.NHibernateUnitOfWork>().LifeStyle.Transient);

            container.Register(Component.For(typeof(IRepository<>)).ImplementedBy(typeof(NHibernateRepository<>)).LifeStyle.Transient);

リポジトリを解決しようとしたときに、すでにリポジトリに追加されたキーについて不平を言っているため、これは私にとってはうまくいきません。

これを正しく行う方法を教えてください。

ありがとう -マイク

4

0 に答える 0