首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET MVC 与 NHibernate结合使用时,NHibernate的session有关问题

2013-09-06 
ASP.NET MVC 与 NHibernate结合使用时,NHibernate的session问题代码是这样的[NHibernateSession]public Ac

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,这样做的好处是什么?
[解决办法]
    。。。。没看懂

热点排行