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());
            }
예제 #2
0
            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));
            }