public static LogicalAddress CreateLocalAddress(string queueName, IReadOnlyDictionary<string, string> properties) { return new LogicalAddress(new EndpointInstance(queueName, null, properties), null); }
internal Receiving() { EnableByDefault(); Prerequisite(c => !c.Settings.GetOrDefault <bool>("Endpoint.SendOnly"), "Endpoint is configured as send-only"); Defaults(s => { var transportInfrastructure = s.Get <TransportInfrastructure>(); var discriminator = s.GetOrDefault <string>("EndpointInstanceDiscriminator"); var baseQueueName = s.GetOrDefault <string>("BaseInputQueueName") ?? s.EndpointName(); var mainInstance = transportInfrastructure.BindToLocalEndpoint(new EndpointInstance(s.EndpointName())); var mainLogicalAddress = LogicalAddress.CreateLocalAddress(baseQueueName, mainInstance.Properties); s.SetDefault <LogicalAddress>(mainLogicalAddress); var mainAddress = transportInfrastructure.ToTransportAddress(mainLogicalAddress); s.SetDefault("NServiceBus.SharedQueue", mainAddress); if (discriminator != null) { var instanceSpecificAddress = transportInfrastructure.ToTransportAddress(mainLogicalAddress.CreateIndividualizedAddress(discriminator)); s.SetDefault("NServiceBus.EndpointSpecificQueue", instanceSpecificAddress); } }); }