예제 #1
0
 public void SmsLog_OnReceived(MessageBody message)
 {
     if (message.Error)
     {
         logger.LogError(new EventId(1001), message.Exception, message.ErrorMessage);
         return;
     }
     try
     {
         var log = JsonConvert.DeserializeObject <LogMessage>(message.Content);
         logWriter.Write(log);
         filterService.Filter(log);
     }
     catch (Exception ex)
     {
         logger.LogError(ex.Message + "|" + message.Content, ex);
     }
     message.Consumer.Model.BasicAck(message.BasicDeliver.DeliveryTag, true);
 }
예제 #2
0
        internal void Receive(object sender, BasicDeliverEventArgs e)
        {
            MessageBody msgBody = new MessageBody();

            try
            {
                string content = MQConnection.UTF8.GetString(e.Body.Span);
                msgBody.Content      = content;
                msgBody.Consumer     = (EventingBasicConsumer)sender;
                msgBody.BasicDeliver = e;
            }
            catch (Exception ex)
            {
                msgBody.ErrorMessage = $"Subscribe-Exception | {ex.Message}";
                msgBody.Exception    = ex;
                msgBody.Error        = true;
                msgBody.Code         = 500;
            }
            OnReceivedCallback?.Invoke(msgBody);
        }