读书人

ASP.NET MVC 与 NHibernate结合使用时

发布时间: 2013-09-06 10:17:17 作者: rapoo

ASP.NET MVC 与 NHibernate结合使用时,NHibernate的session问题
代码是这样的


[NHibernateSession]
public ActionResult SaveNewOrder(Order order)
{
......
return RedirectToAction("Index");
}

[AttributeUsageAttribute(AttributeTargets.Method, Inherited = false, AllowMultiple = false)]
public class NHibernateSessionAttribute : FilterAttribute, IActionFilter
{
public NHibernateSessionAttribute() : base()
{
}

public void OnActionExecuting(ActionExecutingContext filterContext)
{
var session = SessionProvider.GetNewSession();
CurrentSessionContext.Bind(session);
}

public void OnActionExecuted(ActionExecutedContext filterContext)
{
CurrentSessionContext.Unbind(SessionProvider.GetSessionFactory()).Close();
}
}


对于每个Action方法在执行前,都会获取一个新的session帮到这个线程中,执行完后解除这个session,这样做的好处是什么?
[解决办法]
。。。。没看懂

读书人网 >asp.net

热点推荐