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));
        }
Exemple #2
0
        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));
            };
        }
Exemple #3
0
 protected UnitOfWorkBase(ILogger Logger, ICorrelationIdAccessor CorrelationIdAccessor, ILoggedDatabase Database)
 {
     this.Logger   = Logger;
     CorrelationId = CorrelationIdAccessor.GetCorrelationId();
     _database     = Database;
 }
Exemple #4
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            request.Headers.Add("CorrelationId", _correlationIdAccessor.GetCorrelationId());

            return(base.SendAsync(request, cancellationToken));
        }