public Task InvokeAsync(HttpContext context, RequestDelegate next) { var unitOfWork = _unitOfWorkFactory.Create(); try { return(InvokeAsync(context, next, unitOfWork)); } finally { _unitOfWorkFactory.Release(unitOfWork); } }
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(); } }
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(); }
/// <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); }