public async Task <ISendTransport> GetSendTransport(Uri address) { var queueOrTopicName = address.AbsolutePath.Trim('/'); var serviceBusQueue = new ServiceBusAttribute(queueOrTopicName, EntityType.Queue); IAsyncCollector <Message> collector = await _binder.BindAsync <IAsyncCollector <Message> >(serviceBusQueue, _cancellationToken).ConfigureAwait(false); LogContext.Debug?.Log("Creating Send Transport: {Queue}", queueOrTopicName); var sendEndpointContext = new CollectorMessageSendEndpointContext(queueOrTopicName, collector, _cancellationToken); var source = new CollectorSendEndpointContextSupervisor(sendEndpointContext); var transportContext = new HostServiceBusSendTransportContext(address, source, LogContext.Current.CreateLogContext(LogCategoryName.Transport.Send)); return(new ServiceBusSendTransport(transportContext)); }
public async Task <ISendTransport> GetSendTransport(Uri address) { var queueOrTopicName = address.AbsolutePath.Trim('/'); var serviceBusQueue = new ServiceBusAttribute(queueOrTopicName, EntityType.Queue); IAsyncCollector <Message> collector = await _binder.BindAsync <IAsyncCollector <Message> >(serviceBusQueue, _cancellationToken).ConfigureAwait(false); if (_log.IsDebugEnabled) { _log.DebugFormat("Creating Send Transport: {0}", queueOrTopicName); } var sendEndpointContext = new CollectorMessageSendEndpointContext(queueOrTopicName, _log, collector, _cancellationToken); var source = new CollectorSendEndpointContextSource(sendEndpointContext); return(new ServiceBusSendTransport(source, address)); }