特定のファイルを探して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);
リポジトリを解決しようとしたときに、すでにリポジトリに追加されたキーについて不平を言っているため、これは私にとってはうまくいきません。
これを正しく行う方法を教えてください。
ありがとう -マイク