没有会话绑定到当前上下文
我没有得到尝试加载页面时出现“没有会话绑定到当前上下文”错误 (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<CallSessionContext>()
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(false, false))
.BuildSessionFactory();
}
实际错误在我的 Repository.cs 文件中:
第 114 行:public virtual T Get(int id) 第 115 行:{ 第 116 行: return _sessionFactory.GetCurrentSession().Get(id); 第 117 行:} 第 118 行:
当我调试它时,_sessionFactory 不为 null 或任何其他内容,它似乎找不到绑定的会话。
我在 web.config 中连接了 httpmodule,并且它确实运行了,所以这不是问题。
在我的 nhibernate 配置中,我尝试了以下两种方法:
.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
和
.CurrentSessionContext<CallSessionContext>()
但那不起作用。
I followed this tutorial: http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx
I am not getting a 'no session bound to the current context' error when trying to load a page (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<CallSessionContext>()
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(false, false))
.BuildSessionFactory();
}
The actual error is in my Repository.cs file:
Line 114: public virtual T Get(int id)
Line 115: {
Line 116: return _sessionFactory.GetCurrentSession().Get(id);
Line 117: }
Line 118:
When I was debugging it, _sessionFactory wasn't null or anything, it just can't seem to find the bound session.
I have the httpmodule wired up in my web.config, and it does get run so that's not the problem.
In my nhibernate configuration, I tried both:
.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
and
.CurrentSessionContext<CallSessionContext>()
But that didn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您没有将会话绑定到上下文。请看下面的示例:
上面的关键是,每当您检索第一个会话时,都会将其绑定到您正在使用的任何上下文。
It sounds like you are not binding your session to the context. Look at the below for an example:
The key to the above is that whenever you retrieve your first session you bind it to whatever context you are using.