Getting Started
Architecture
NServiceBus
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Routing system extensibility points for MSMQ

Component: MSMQ Transport
NuGet Package: NServiceBus.Transport.Msmq (2.x)
Target Version: NServiceBus 8.x

Instance mapping extensibility

To customize how logical endpoints are mapped to a physical instance when routing messages, use the following code in a feature:

protected override void Setup(FeatureConfigurationContext context)
{
    var endpointInstances = context.Settings.Get<EndpointInstances>();
    endpointInstances.AddOrReplaceInstances("MySource",
        new List<EndpointInstance>
        {
            new EndpointInstance("MyEndpoint").AtMachine("VM-1"),
            new EndpointInstance("MyEndpoint").AtMachine("VM-2")
        });
}

sourceKey uniquely identifies the mapping source so that it can be modified and must be unique.

The instances collection is thread-safe. It allows registering multiple instance of a given endpoint. In case there is more than one mapping for a given logical endpoint, messages will be distributed based on the active distribution strategy.

Related Articles