public override string SelectDestination(DistributionContext context)
 {
     if (context.Message.Instance is MyCommand message)
     {
         var address = context.ToTransportAddress(new EndpointInstance(Endpoint, message.Instance));
         return(context.ReceiverAddresses.Single(a => a.Contains(address)));
     }
     throw new InvalidOperationException("Unable to route!");
 }
    public override string SelectDestination(DistributionContext context)
    {
        var discriminator = mapper(context.Message.Instance);

        context.Headers[PartitionHeaders.PartitionKey] = discriminator;

        var remoteAddress = context.ToTransportAddress(new EndpointInstance(Endpoint, discriminator));

        return(context.ReceiverAddresses.Single(a => a == remoteAddress));
    }
    public override string SelectDestination(DistributionContext context)
    {
        var discriminator = mapper(context.Message.Instance);


        context.Headers[PartitionHeaders.PartitionKey] = discriminator;

        var remoteAddress = context.ToTransportAddress(new EndpointInstance(Endpoint, discriminator));

        Logger.Log($"::SSD:: Sending message of type {context.Message.MessageType} with partition key={discriminator} to queue {remoteAddress}.");

        return(context.ReceiverAddresses.Single(a => a == remoteAddress));
    }
                public override string SelectDestination(DistributionContext context)
                {
                    var address = context.ToTransportAddress(new EndpointInstance(ReceiverEndpoint, "XYZ"));

                    return(context.ReceiverAddresses.First(x => x == address));
                }