如果我在nHibernate上使用Castle记录,我如何管理会话。基本上,如果我直接使用ISession,我可以自己管理nHibernate的生命周期。但是当我使用Castle时,它并没有给我一种管理会话生命周期的方法。我希望每个线程使用一个会话。
我在WCF服务中使用Castle,并且希望使用每个WCF请求的会话。
发布于 2010-02-08 17:50:58
与其使用ISession,不如在ActiveRecord城堡中使用SessionScope:
using(new SessionScope())
{
; // do work here
}如果出于某种原因需要访问SessionScope内部的SessionScope,可以这样做:
ISession dbSession = Castle.ActiveRecord.ActiveRecordMediator
.GetSessionFactoryHolder().CreateSession(
typeof(Castle.ActiveRecord.ActiveRecordBase));更多文件载于以下文件:
作用域
在这里:
http://www.castleproject.org/activerecord/documentation/trunk/manual/scopes.html
发布于 2010-02-08 17:32:01
我想你是在一个网络应用程序中工作。不是这样的吗?
有几种方法可以做到- 城堡AR文档
最简单的方法是使用SessionScopeWebModule为每个请求提供一个会话。
https://stackoverflow.com/questions/2223504
复制相似问题