public Task InvokeAsync(HttpContext context, RequestDelegate next)
        {
            var unitOfWork = _unitOfWorkFactory.Create();

            try
            {
                return(InvokeAsync(context, next, unitOfWork));
            }
            finally
            {
                _unitOfWorkFactory.Release(unitOfWork);
            }
        }
Ejemplo n.º 2
0
        private void Application_EndRequest(object source, EventArgs e)
        {
            if (HttpContext.Current.Server.GetLastError() != null)
            {
                return;
            }

            try
            {
                UnitOfWork.Commit();
                TransactionScope.Complete();
            }
            catch
            {
                UnitOfWork.Rollback();
                throw;
            }
            finally
            {
                _unitOfWorkFactory.Release(UnitOfWork);
                UnitOfWork = null;
                TransactionScope.Dispose();
            }
        }
Ejemplo n.º 3
0
        private void Application_EndRequest(Object source, EventArgs e)
        {
            if (HttpContext.Current.Server.GetLastError() != null)
            {
                return;
            }

            try
            {
                UnitOfWork.Commit();
            }
            catch
            {
                UnitOfWork.Rollback();
                throw;
            }
            finally
            {
                _unitOfWorkFactory.Release(UnitOfWork);
                UnitOfWork = null;
            }

            DomainEvents.RaiseDelayedEvents();
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Cleans the unit of work.
 /// </summary>
 /// <param name="messageContext">Rebus message context</param>
 /// <param name="unitOfWork">The unit of work</param>
 public static void Cleanup(IMessageContext messageContext, IUnitOfWork unitOfWork)
 {
     _unitOfWorkFactory.Release(unitOfWork);
 }