public void SubscribeQueue(string queue, Action <string> messageProcessor) { using (var channel = rabbitConnection.GetChannel()) { channel.QueueDeclare(queue: queue, durable: false, exclusive: false, autoDelete: false, arguments: null); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var message = Encoding.UTF8.GetString(ea.Body.ToArray()); messageProcessor(message); }; channel.BasicConsume(queue: queue, autoAck: true, consumer: consumer); Console.ReadLine(); } }
public void QueuePublish(string message, string queue) { if (string.IsNullOrEmpty(message)) { throw new ArgumentNullException(nameof(message)); } using (var channel = rabbitConnection.GetChannel()) { channel.QueueDeclare(queue: queue, durable: false, exclusive: false, autoDelete: false, arguments: null); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "", routingKey: queue, basicProperties: null, body: body); } }