1
Fluent NHibernate를 ASP.NET 웹 응용 프로그램에 설정했습니다.Fluent NHibernate 세션이 ASP.NET 웹 응용 프로그램에서 작동하지 않습니다.
private static void BeginRequest(object sender, EventArgs e)
{
ISession session = _sessionFactory.OpenSession();
session.BeginTransaction();
CurrentSessionContext.Bind(session);
}
그것은과 같이 구성되어 있습니다 :
private static ISessionFactory CreateSessionFactory()
{
return Fluently
.Configure()
.Database(MsSqlConfiguration.MsSql2005
.ConnectionString(c => c
.FromConnectionStringWithKey("RecruitmentApp")))
.Mappings(
m => m.FluentMappings.AddFromAssemblyOf<RecruitmentAppLibrary.Applicant>()
)
.ExposeConfiguration(c => c.SetProperty(NHibernate.Cfg.Environment.CurrentSessionContextClass, "web"))
.BuildSessionFactory();
}
나는 현재 세션 컨텍스트 클래스에 "웹"을 설정하는 내가 요청을 차단하고 각각에 대해 새로운 세션을 생성하는 HTTP 모듈이 그러나 _sessionFactory.GetCurrentSession()이 호출 될 때 코드는 세션을 가져올 수 없습니다. "현재 컨텍스트에 바인드 된 세션 없음"이라고 표시됩니다. 내가 조금 그것을 디버깅하고 세션이 HTTP 컨텍스트에 삽입되고 있지만 그것은 (비록 내 Page_Load 호출 될 때 여전히 컨텍스트에서 경우에도) 그것을 다시 뽑을 수 없습니다. 어떤 아이디어?
언제 세션 컨텍스트를 바인드 해제? 당신이 그것을하고있는 곳에서 중단 점을 놓고 그것을 사용하려고 시도하기 전에 그것을 묶어 놓지 않았는지 확인하십시오. –