public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T>?callback = null) { var tracer = GetTracer(); if (tracer != null) { var transaction = tracer.CurrentTransaction; if (transaction == null) { return(tracer.CaptureTransaction($"Publish {message.GetType().FullName}", ApiConstants.TypeExternal, () => { messageContext.RequestId = tracer.CurrentTransaction.OutgoingDistributedTracingData.SerializeToString(); return base.PublishAsync(message, messageContext, callback); })); } return(transaction.CaptureSpan($"Publish {message.GetType().FullName}", ApiConstants.TypeExternal, () => { messageContext.RequestId = tracer.CurrentTransaction.OutgoingDistributedTracingData.SerializeToString(); return base.PublishAsync(message, messageContext, callback); }, "Queue")); } return(base.PublishAsync(message, messageContext, callback)); }
public Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T> callback) where T : class { if (_mw == null) { return(callback(message, messageContext)); } return(_mw.PublishAsync(message, messageContext, callback)); }
public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T>?callback = null) { if (!FailOnPublish) { return(base.PublishAsync(message, messageContext, callback)); } var result = new QueuePublishResult(); result.SetError("Middleware failed publish"); return(Task.FromResult(result)); }
public virtual Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T>?callback = null) where T : class { if (Next != null) { return(Next.PublishAsync(message, messageContext, callback)); } if (callback != null) { return(callback(message, messageContext)); } var result = new QueuePublishResult(); result.SetError("Message reached end of pipeline"); return(Task.FromResult(result)); }
public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T>?callback = null) { Published++; return(base.PublishAsync(message, messageContext, callback)); }
public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext, PublishAsyncDelegate <T>?callback = null) { _state.AppendState("bar"); return(base.PublishAsync(message, messageContext, callback)); }