コード例 #1
0
        public async Task Execute(Envelope envelope, IEnvelopeContext context, DateTime utcNow)
        {
            try
            {
                await context.SendAllQueuedOutgoingMessages();

                await envelope.Callback.MarkComplete();

                context.Logger.MessageSucceeded(envelope);
            }
            catch (Exception ex)
            {
                await context.SendFailureAcknowledgement(envelope, "Sending cascading message failed: " + ex.Message);

                context.Logger.LogException(ex, envelope.Id, ex.Message);
                context.Logger.MessageFailed(envelope, ex);

                await envelope.Callback.MoveToErrors(envelope, ex);
            }
        }
コード例 #2
0
        public Task Execute(Envelope envelope, IEnvelopeContext context, DateTime utcNow)
        {
            try
            {
                context.SendAllQueuedOutgoingMessages();

                envelope.Callback.MarkSuccessful();

                context.Logger.MessageSucceeded(envelope);
            }
            catch (Exception ex)
            {
                context.SendFailureAcknowledgement(envelope, "Sending cascading message failed: " + ex.Message);

                context.Logger.LogException(ex, envelope.CorrelationId, ex.Message);
                context.Logger.MessageFailed(envelope, ex);

                envelope.Callback.MoveToErrors(new ErrorReport(envelope, ex));
            }

            return(Task.CompletedTask);
        }