public void CreateReceiveEndpoint(string queueName, Action <IRabbitMqReceiveEndpointConfigurator> configure) { if (!_configuration.TryGetHost(_host, out var hostConfiguration)) { throw new ConfigurationException("The host was not properly configured"); } var configuration = hostConfiguration.CreateReceiveEndpointConfiguration(queueName); configure?.Invoke(configuration.Configurator); BusConfigurationResult.CompileResults(configuration.Validate()); configuration.Build(); }
ISendTransport GetSendTransport(Uri address) { if (!_busConfiguration.TryGetHost(address, out var hostConfiguration)) { throw new EndpointNotFoundException($"The host was not found for the specified address: {address}"); } var host = hostConfiguration.Host; var settings = host.Topology.SendTopology.GetSendSettings(address); var brokerTopology = settings.GetBrokerTopology(); IAgent <ModelContext> modelSource = GetModelSource(host); var configureTopologyFilter = new ConfigureTopologyFilter <SendSettings>(settings, brokerTopology); var transport = new RabbitMqSendTransport(modelSource, configureTopologyFilter, settings.ExchangeName); host.Add(transport); return(transport); }