private void PublisherChannelOnMqMessagePublishFailed(object sender, MessagePublishFailedEventArgs messagePublishFailedEventArgs) { _executionLog.Info($"Message publishing failed with correlationId: {messagePublishFailedEventArgs.CorrelationId}, errorMessage: {messagePublishFailedEventArgs.ErrorMessage}, routingKey: {messagePublishFailedEventArgs.RoutingKey}."); var ticketId = string.Empty; var ci = _ticketCache.Values.FirstOrDefault(f => f.CorrelationId == messagePublishFailedEventArgs.CorrelationId); if (!string.IsNullOrEmpty(ci?.TicketId)) { ticketId = ci.TicketId; } var json = Encoding.UTF8.GetString(messagePublishFailedEventArgs.RawData.ToArray()); var arg = new TicketSendFailedEventArgs(ticketId, json, messagePublishFailedEventArgs.ErrorMessage); TicketSendFailed?.Invoke(sender, arg); }
/// <summary> /// Raises the message publish failed event /// </summary> /// <param name="rawData">The raw data</param> /// <param name="correlationId">The correlation identifier</param> /// <param name="routingKey">The routing key</param> /// <param name="message">The message</param> private void RaiseMessagePublishFailedEvent(IEnumerable <byte> rawData, string correlationId, string routingKey, string message) { var args = new MessagePublishFailedEventArgs(rawData, correlationId, routingKey, message); MqMessagePublishFailed?.Invoke(this, args); }