using System.Text; using RabbitMQ.Client.Events; namespace BMA.EHR.Infrastructure.MessageQueue { public class RabbitMQConsumer { private readonly RabbitMQConnection _connection; /// /// /// /// public RabbitMQConsumer(RabbitMQConnection connection) { _connection = connection; } /// /// /// public void StartReceiving() { var channel = _connection.GetChannel(); channel.QueueDeclare(queue: "myqueue", durable: false, exclusive: false, autoDelete: false, arguments: null); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body.ToArray(); var message = Encoding.UTF8.GetString(body); Console.WriteLine(" [x] Received {0}", message); }; channel.BasicConsume(queue: "myqueue", autoAck: true, consumer: consumer, consumerTag: "", noLocal: false, exclusive: false, arguments: null); } } }