protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var correlationId = _correlationIdAccessor.GetCorrelationId(); if (!string.IsNullOrWhiteSpace(correlationId)) { request.Headers.Add(CorrelationIdMiddleware.CorrelationIdHeaderName, new[] { correlationId }); } return(base.SendAsync(request, cancellationToken)); }
protected RepositoryBase(ILogger Logger, ICorrelationIdAccessor CorrelationIdAccessor, ILoggedDatabase Database) { this.Logger = Logger; CorrelationId = CorrelationIdAccessor.GetCorrelationId(); _database = Database; GetContextAsync = async() => { // Return a new, unshared database connection. // Unit of Work classes should modify this Func to return a shared (by multiple repositories) database connection. var connection = await _database.OpenConnectionAsync(CorrelationId); var transaction = connection.BeginTransaction(); return(new RepositoryContext(connection, transaction, true, true)); }; }
protected UnitOfWorkBase(ILogger Logger, ICorrelationIdAccessor CorrelationIdAccessor, ILoggedDatabase Database) { this.Logger = Logger; CorrelationId = CorrelationIdAccessor.GetCorrelationId(); _database = Database; }
protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { request.Headers.Add("CorrelationId", _correlationIdAccessor.GetCorrelationId()); return(base.SendAsync(request, cancellationToken)); }