Я последовал за этим руководством: http://nhforge.org/blogs/nhibernate/Archive/2011/03/03 / effective-nibernate-session-management-for-web-apps.aspx
3 Не получаю «нет сеанса, связанного с ошибкой текущего контекста при попытке загрузки страницы (MVC 3).
public static ISessionFactory BuildSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008 //
.ConnectionString(@"Server=.\SQLExpress;Database=db1;Uid=dev;Pwd=123;")
.ShowSql())
//.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
//.CurrentSessionContext()
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(false, false))
.BuildSessionFactory();
}
Фактическая ошибка находится в моем файле Repository.cs:
Линия 114: публичный виртуальный T Get (INT ID) Строка 115: { Строка 116: return _sessionfactory.getcurrentsion (). Get (ID); Линия 117:} Линия 118:
Когда я отладки его, _sessionSessoStory не был нулевым или что-то еще, он просто не может найти связанную сеанс.
У меня есть HTTPModule Wired в My Web.config, и он бежит, так что это не проблема.
В моей конфигурации Nibernate я попробовал оба:
.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
и
.CurrentSessionContext()
, но это не сработало.