Task <ISendEndpoint> CreateSendEndpoint(Type messageType) { SendSettings sendSettings = _host.GetSendSettings(messageType); ExchangeBindingSettings[] bindings = TypeMetadataCache.GetMessageTypes(messageType) .SelectMany(type => type.GetExchangeBindings(_host.MessageNameFormatter)) .Where(binding => !sendSettings.ExchangeName.Equals(binding.Exchange.ExchangeName)) .ToArray(); Uri destinationAddress = _host.Settings.GetSendAddress(sendSettings); var modelCache = new RabbitMqModelCache(_host.ConnectionCache); var sendTransport = new RabbitMqSendTransport(modelCache, sendSettings, bindings); return(Task.FromResult <ISendEndpoint>(new SendEndpoint(sendTransport, _serializer, destinationAddress, _sourceAddress, SendPipe.Empty))); }
static Uri GetDestinationAddress(IRabbitMqHost host, Type messageType) { var sendSettings = host.GetSendSettings(messageType); return(host.Settings.GetSendAddress(sendSettings)); }