您的位置:首页 > 产品设计 > UI/UE

Nhibernate one Session per Request的实现

2010-09-29 19:10 337 查看
网上关于NHibernate one Session per Request实现的例子有很多,那些例子看的我是晕晕乎乎的,经过陆经理的给我讲解明白了Nhibernate one Session per Request并没有网上写的那么复杂,它只不过是一个请求和响应而已。个人认为NHibernate one session per Request和Asp.net中的HttpResponse HttpRequest的功能一样。

实现NHibernate one Session per Request 首先在Hibernate.cft.xml中加入Property配置

<property name="current_session_context_class">Managed_Web</property>


此句是制定SessionContext的实现类。你在NHibernate中文文档中可以看到以下的内置实现,简写为“"managed_web", "call","thread_static", and "web"你也可以自定义。

然后我们创建一个NHibernateSessionFactory的类核心代码如下

代码

public MvcApplication()
{
EndRequest += new EventHandler(MvcApplication_EndRequest);
}
//一定关闭Session
void MvcApplication_EndRequest(object sender, EventArgs e)
{
NHibernateSessionFactory.CloseSession();
}


写到这里One Session per Request的配置是基本OK了,当我们用的时候直接调用CurrentSession的方法就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: