public Task<ISendEndpoint> GetSendEndpoint(Uri address) { return _host.RetryPolicy.Retry<ISendEndpoint>(async () => { var topicDescription = await _host.RootNamespaceManager.CreateTopicSafeAsync(address.GetTopicDescription()).ConfigureAwait(false); var messagingFactory = await _host.MessagingFactory.ConfigureAwait(false); var topicClient = messagingFactory.CreateTopicClient(topicDescription.Path); var client = new TopicSendClient(topicClient); var sendTransport = new ServiceBusSendTransport(client, _host.Supervisor); sendTransport.ConnectSendObserver(_sendObservable); return new SendEndpoint(sendTransport, _serializer, address, _sourceAddress, SendPipe.Empty); }); }
public Task <ISendEndpoint> GetSendEndpoint(Uri address) { return(_host.RetryPolicy.Retry <ISendEndpoint>(async() => { var topicDescription = await _host.RootNamespaceManager.CreateTopicSafeAsync(address.GetTopicDescription()).ConfigureAwait(false); var messagingFactory = await _host.MessagingFactory.ConfigureAwait(false); var topicClient = messagingFactory.CreateTopicClient(topicDescription.Path); var client = new TopicSendClient(topicClient); var sendTransport = new ServiceBusSendTransport(client, _host.Supervisor); sendTransport.ConnectSendObserver(_sendObservable); return new SendEndpoint(sendTransport, _serializer, address, _sourceAddress, SendPipe.Empty); })); }