コード例 #1
0
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            try {
                if ((filterContext.Exception != null) && (!filterContext.ExceptionHandled))
                {
                    NHibernateHelper.RollbackTransaction();
                }
                else
                {
                    NHibernateHelper.CommitTransaction();
                }
            }
            finally {
                NHibernateHelper.DisposeSession();
            }

            base.OnResultExecuted(filterContext);
        }
コード例 #2
0
 private void ApplicationEndRequest(object sender, EventArgs e)
 {
     if (RequestMayNeedIterationWithPersistence(sender as HttpApplication))
     {
         try
         {
             if (NHibernateHelper.GetCurrentSession().IsOpen&& NHibernateHelper.GetCurrentSession().Transaction.IsActive)
             {
                 NHibernateHelper.CommitTransaction();
             }
         }
         catch (Exception)
         {
             NHibernateHelper.RollbackTransaction();
             throw;
         }
         finally
         {
             NHibernateHelper.DisposeSession();
         }
     }
 }