public void Start() { if (_connection != null || _channel != null) { Console.WriteLine("Consumer Already Started."); return; } var queueName = NamingRule.WorkerQueueNameOf <T>(); _connection = _connectionProvider.CreateConnection(); _channel = _connection.CreateModel(); _channel.QueueDeclare(queueName, false, false, false, null); _consumer = new EventingBasicConsumer(_channel); _consumer.Received += OnReceived; _channel.BasicConsume(_consumer, queueName, true); }
public void Start() { if (_connection != null || _channel != null) { Console.WriteLine("Consumer Already Started."); return; } _connection = _connectionProvider.CreateConnection(); _channel = _connection.CreateModel(); var exchangeName = NamingRule.PubSubExchangeNameOf <T>(); _channel.ExchangeDeclare(exchangeName, ExchangeType.Fanout); var queueName = _channel.QueueDeclare().QueueName; _channel.QueueBind(queueName, exchangeName, ""); _consumer = new EventingBasicConsumer(_channel); _consumer.Received += ConsumerOnReceived; _channel.BasicConsume(queue: queueName, autoAck: true, consumer: _consumer); }