public override Task Invoke(IOutgoingLogicalMessageContext context, Func <Task> next) { if (context.Message.Instance is JobStatusMessage jobStatusMsg) { var annotatedType = TypeAnnotator.CreateAnnotatedTypeName(jobStatusMsg); context.Extensions.Set(TypeAnnotator.ContextKey, annotatedType); } return(next()); }
public Task <IEnumerable <Subscriber> > GetSubscriberAddressesForMessage(IEnumerable <MessageType> messageTypes, ContextBag context) { if (context is IOutgoingPublishContext publishContext) { if (publishContext.Message.Instance is JobStatusMessage jobStatusMsg) { var newMessageType = new MessageType(TypeAnnotator.CreateAnnotatedTypeName(jobStatusMsg)); messageTypes = messageTypes.Union(new[] { newMessageType }); } } return(realStorage.GetSubscriberAddressesForMessage(messageTypes, context)); }