問題有點模糊不清。我使用教程與NHibernate和Castle Windsor建立了一個新項目。結果是一個PersistenceInstaller和一個PersistenceFacility。該PersistenceFacility有這樣的init()方法:使用Castle.Windsor的PersistenceFacility如何影響我實現NHibernateActionFilter的能力?
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解決方案來管理會話Here - 在他的一系列「對無摩擦,無臭代碼重構」。現在,PersistenceFacility負責創建SessionFactory。我想知道我如何能夠圍繞重構的事情(或者如果這甚至是必要的),這樣我就可以實現NHibernateActionFilter - 因爲這需要在該行獲得了一個SessionFactory:
sessionController.Session = sessionFactory.OpenSession();
也許我不是理解Castle.Windsor,我不太確定。任何幫助感謝!