using RabbitMQ.Client;
using RabbitMQ.Client.Events;
namespace TestingSolution.BlockingCollection
{
public class RabbitListener
{
private ConnectionFactory _cf;
private IConnection _con;
private IModel _channel;
private EventingBasicConsumer _consumer;
public RabbitListener()
{
_cf = new ConnectionFactory();
_cf.HostName = "localhost";
_cf.VirtualHost = "/";
_cf.Port = 15672;
_cf.UserName = "aaaa";
_cf.Password = "aaaa123";
_cf.AutomaticRecoveryEnabled = true;
// freeze here
_con = _cf.CreateConnection();
_channel = _con.CreateModel();
_consumer = new EventingBasicConsumer(_channel);
_consumer.Received += OnMessageReceived;
_channel.BasicQos(0, 3, false);
_channel.BasicConsume("SomeQName", false, _consumer);
}
public void OnMessageReceived(object ch, BasicDeliverEventArgs ea)
{
//WorkerQueue.RabbitMessage.Add(ea.RoutingKey);
_channel.BasicAck(ea.DeliveryTag, false);
}
}
}