public async Task <ISendTransport> GetSendTransport(Uri address)
        {
            LogContext.SetCurrentIfNull(_hostConfiguration.LogContext);

            var endpointAddress = new InMemoryEndpointAddress(_hostConfiguration.HostAddress, address);

            TransportLogMessages.CreateSendTransport(address);

            var exchange = _messageFabric.Value.GetExchange(endpointAddress.Name);

            var context = new ExchangeInMemorySendTransportContext(exchange, _hostConfiguration.SendLogContext);

            return(new InMemorySendTransport(context));
        }
Beispiel #2
0
        public async Task <ISendTransport> GetSendTransport(Uri address)
        {
            LogContext.SetCurrentIfNull(DefaultLogContext);

            var exchangeName = address.GetQueueOrExchangeName();

            TransportLogMessages.CreateSendTransport(address);

            var exchange = _messageFabric.GetExchange(exchangeName);

            var context = new ExchangeInMemorySendTransportContext(exchange, SendLogContext);

            return(new InMemorySendTransport(context));
        }
Beispiel #3
0
        public async Task <ISendTransport> GetSendTransport(Uri address)
        {
            LogContext.SetCurrentIfNull(DefaultLogContext);

            var exchangeName = address.GetQueueOrExchangeName();

            return(await _index.Get(exchangeName, async key =>
            {
                TransportLogMessages.CreateSendTransport(address);

                var exchange = _messageFabric.GetExchange(exchangeName);

                var context = new ExchangeInMemorySendTransportContext(exchange, SendLogContext);

                return new InMemorySendTransport(context);
            }).ConfigureAwait(false));
        }