static Task ReplyMessage(this IBehaviorContext context, Type messageType, object message, ReplyOptions options) { var cache = context.Extensions.Get <IPipelineCache>(); var pipeline = cache.Pipeline <IOutgoingReplyContext>(); var outgoingContext = new OutgoingReplyContext( new OutgoingLogicalMessage(messageType, message), options, context); return(pipeline.Invoke(outgoingContext)); }
public static Task Reply(IBehaviorContext context, object message, ReplyOptions options) { var settings = context.Builder.Build <ReadOnlySettings>(); var pipeline = new PipelineBase <IOutgoingReplyContext>( context.Builder, settings, settings.Get <PipelineConfiguration>().MainPipeline); var outgoingContext = new OutgoingReplyContext( new OutgoingLogicalMessage(message), options, context); return(pipeline.Invoke(outgoingContext)); }
static Task ReplyMessage(this IBehaviorContext context, Type messageType, object message, ReplyOptions options) { var messageId = options.UserDefinedMessageId ?? CombGuid.Generate().ToString(); var headers = new Dictionary <string, string>(options.OutgoingHeaders) { [Headers.MessageId] = messageId }; var outgoingContext = new OutgoingReplyContext( new OutgoingLogicalMessage(messageType, message), messageId, headers, options.Context, context); return(outgoingContext.InvokePipeline <IOutgoingReplyContext>()); }
Task ReplyMessage(IBehaviorContext context, Type messageType, object message, ReplyOptions options) { var messageId = options.UserDefinedMessageId ?? CombGuid.Generate().ToString(); var headers = new Dictionary <string, string>(options.OutgoingHeaders) { [Headers.MessageId] = messageId }; var outgoingContext = new OutgoingReplyContext( new OutgoingLogicalMessage(messageType, message), messageId, headers, options.Context, context); MergeDispatchProperties(outgoingContext, options.DispatchProperties); return(replyPipeline.Invoke(outgoingContext)); }