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)); }
async Task <ISendTransport> GetSendTransport(Uri address) { var queueOrTopicName = address.AbsolutePath.Trim('/'); var serviceBusTopic = new ServiceBusAttribute(queueOrTopicName, AccessRights.Manage); serviceBusTopic.EntityType = EntityType.Topic; IAsyncCollector <BrokeredMessage> collector = await _binder.BindAsync <IAsyncCollector <BrokeredMessage> >(serviceBusTopic, _cancellationToken).ConfigureAwait(false); if (_log.IsDebugEnabled) { _log.DebugFormat("Creating Publish Transport: {0}", queueOrTopicName); } var client = new CollectorSendEndpointContext(queueOrTopicName, _log, collector, _cancellationToken); var source = new CollectorSendEndpointContextSource(client); var transport = new ServiceBusSendTransport(source, address); return(transport); }