NServiceBus.UnicastPublishRouter.Route C# (CSharp) Method

Route() public method

public Route ( Type messageType, IDistributionPolicy distributionPolicy, ContextBag contextBag ) : Task>
messageType System.Type
distributionPolicy IDistributionPolicy
contextBag ContextBag
return Task>
        public async Task<IEnumerable<UnicastRoutingStrategy>> Route(Type messageType, IDistributionPolicy distributionPolicy, ContextBag contextBag)
        {
            var typesToRoute = messageMetadataRegistry.GetMessageMetadata(messageType).MessageHierarchy;

            var subscribers = await GetSubscribers(contextBag, typesToRoute).ConfigureAwait(false);

            var selectedDestinations = SelectDestinationsForEachEndpoint(distributionPolicy, subscribers);

            return selectedDestinations.Select(destination => new UnicastRoutingStrategy(destination));
        }