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)); }