Exemple #1
0
        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);
        }