public PublishContextProxy(SendContext context, TMessage message) : base(context, message) { _context = context; _context.GetOrAddPayload <PublishContext>(() => this); _context.GetOrAddPayload <PublishContext <TMessage> >(() => this); }
/// <summary> /// Transfer the header information from the ConsumeContext to the SendContext, including any non-MT headers. /// </summary> /// <param name="sendContext"></param> /// <param name="consumeContext"></param> public static void TransferConsumeContextHeaders(this SendContext sendContext, ConsumeContext consumeContext) { sendContext.GetOrAddPayload(() => consumeContext); sendContext.SourceAddress = consumeContext.ReceiveContext.InputAddress; if (consumeContext.ConversationId.HasValue) { sendContext.ConversationId = consumeContext.ConversationId; } if (consumeContext.CorrelationId.HasValue) { sendContext.InitiatorId = consumeContext.CorrelationId; } else if (consumeContext.RequestId.HasValue) { sendContext.InitiatorId = consumeContext.RequestId; } foreach (KeyValuePair <string, object> header in consumeContext.Headers.GetAll()) { if (header.Key.StartsWith("MT-")) { continue; } sendContext.Headers.Set(header.Key, header.Value); } }
public PublishContextProxy(SendContext context) : base(context) { _context = context; _context.GetOrAddPayload <PublishContext>(() => this); }
Task ISendContextPipe.Send <T>(SendContext <T> context) where T : class { context.GetOrAddPayload(() => _payload); return(_pipe is ISendContextPipe sendContextPipe ? sendContextPipe.Send(context) : TaskUtil.Completed); }
public Task Send(SendContext <TMessage> context) { if (_context != null) { var instanceContext = _context; context.GetOrAddPayload(() => instanceContext); } return(_pipe.IsNotEmpty() ? _pipe.Send(context) : TaskUtil.Completed); }
public Task Send(SendContext <T> context, IPipe <SendContext <T> > next) { if (context.TryGetPayload <ApplicationInsightsPayload>(out _)) { return(next.Send(context)); } context.GetOrAddPayload(() => new ApplicationInsightsPayload()); return(SendWithTelemetry(context, next)); }
public async Task Send(SendContext <T> context, IPipe <SendContext <T> > next) { context.GetOrAddPayload(() => _db); await next.Send(context); }
protected override void Send <T>(SendContext <T> context) { context.GetOrAddPayload(() => _payload); }