0
我在BeginRequest上打开一个会话并试图在EndRequest上关闭它。我偶尔看到的,看起来像这样的错误:BeginRequest和EndRequest上的NHibernate会话处理
Possible nonthreadsafe access to session
at NHibernate.Action.EntityDeleteAction.Execute()
at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
at NHibernate.Engine.ActionQueue.ExecuteActions()
at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at ACC.Web.Modules.NHibernateSessionModule.CommitSession(ISession session)
at ACC.Web.Modules.NHibernateSessionModule.ApplicationEndRequest(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
根据这个问题Do ASP.NET Requests always BeginRequest and EndRequest on the same thread?,我不能肯定的BeginRequest和EndRequest将火一样的线程上。我应该如何处理打开和关闭NHibernate会话,以便我不会出现这些错误?
谢谢!
Chris