ウィンザー、ファシリティ、nhibernateを使用したアプリケーションの構成に問題があります。
この例外が発生しています:
ObjectDisposedException: Session is closed
ウィンザーは、リクエストごとにセッションをインスタンス化し、このような構成になっているときに開く必要がありますか?いくつかの構成を見逃してもいいですか?これが私の構成です:
public class PersistenceFacility : AbstractFacility
{
protected override void Init()
{
Configuration config = BuildDatabaseConfiguration();
Kernel.Register(
Component.For<ISessionFactory>()
.LifeStyle.Singleton
.UsingFactoryMethod(config.BuildSessionFactory),
Component.For<ISession>()
.LifeStyle.PerWebRequest
.UsingFactoryMethod(k => k.Resolve<ISessionFactory>().OpenSession()));
}
private Configuration BuildDatabaseConfiguration()
{
return Fluently.Configure()
.Database(SetupDatabase)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<RnUlice>())
.ExposeConfiguration(ConfigurePersistence)
.BuildConfiguration() ;
}
......
}