public void Subscribe(string routingKey, EventHandler <BasicDeliverEventArgs> receivedHandler) { using (var connection = _rabbitConnection.ConnectionFactory()) { using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: routingKey, durable: false, exclusive: false, autoDelete: false, arguments: null); var consumer = new EventingBasicConsumer(channel); consumer.Received += receivedHandler; channel.BasicConsume(queue: routingKey, autoAck: true, consumer: consumer); Console.ReadLine(); } } }
public void PublishQueen <T>(string routingKey, T data) where T : QueenModel, new() { using (var connection = _rabbitConnection.ConnectionFactory()) { using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: routingKey, durable: false, exclusive: false, autoDelete: false, arguments: null); string message = JsonConvert.SerializeObject(data); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "", routingKey: routingKey, basicProperties: null, body: body); } } }