nRk*_*nRk 2 .net c# nhibernate
我从NHibernate得到了folloinwg错误:
System.ObjectDisposedException: Session is closed! Object name: 'ISession'.
at NHibernate.Impl.AbstractSessionImpl.ErrorIfClosed()
at NHibernate.Impl.AbstractSessionImpl.CheckAndUpdateSessionStatus()
at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.Save(Object obj)
Run Code Online (Sandbox Code Playgroud)
我在.net windows服务中使用NHibernate.
我无法追踪异常的精确问题.此异常经常发生.
任何人都可以帮我解决这个问题吗?
NRK
我猜你是在一个使用的构造中不止一次地包装你的会话,如下所示.你能发布一些会话使用代码吗?
HTH,
Berryl
错误 - 在第一次使用构造后会话关闭:
using(var session = _sessionFactory.GetCurrentSession()
using(var tx = _session.BeginTransaction(){
... do something
tx.Commit();
}
using(var session = _sessionFactory.GetCurrentSession()
using(var tx = _session.BeginTransaction(){
... do something else
}
Run Code Online (Sandbox Code Playgroud)
更好 - 会话在工作完成后关闭
var session = _sessionFactory.GetCurrentSession();
using(var tx = _session.BeginTransaction(){
... do something
tx.Commit();
}
using(var tx = _session.BeginTransaction(){
... do something else
tx.Commit()
}
session.Close()
Run Code Online (Sandbox Code Playgroud)