少し漠然とした質問でごめんなさい。チュートリアルを使用して、NHibernateとCastleWindsorで新しいプロジェクトを配線しました。その結果、PersistenceInstallerとPersistenceFacilityが作成されました。PersistenceFacilityには、次のようなInit()メソッドがあります。
protected override void Init()
{
var config = BuildDatabaseConfiguration();
Kernel.Register(
Component.For<ISessionFactory>()
.UsingFactoryMethod(_ => config.BuildSessionFactory()),
Component.For<ISession>()
.UsingFactoryMethod(k => k.Resolve<ISessionFactory>().OpenSession())
.LifestylePerWebRequest());
}
私はここでセッションを管理するためのAyendesソリューションに出くわしました-彼のシリーズ「摩擦のない無臭のコードに向けたリファクタリング」。現在、PersistenceFacilityがSessionFactoryの作成を担当しています。NHibernateActionFilterを実装できるように(またはそれが必要な場合でも)、どのようにリファクタリングできるのか疑問に思っています。現在、次の行でSessionFactoryにアクセスする必要があります。
sessionController.Session = sessionFactory.OpenSession();
Castle.Windsorを正しく理解していないのかもしれませんが、よくわかりません。助けていただければ幸いです。