Пример #1
0
        public bool InitializeQueues(ConsumerDel consumerFunction)
        {
            if (_connection != null)
            {
                _channel = _connection.CreateModel();
                _channel.ExchangeDeclare(_stationName, ExchangeType.Direct);

                _channel.QueueDeclare(_publishQueueName, false, false, false);
                _channel.QueueDeclare(_consumeQueueName, false, false, false);

                _channel.QueueBind(_publishQueueName, _stationName, _publishQueueName);
                _channel.QueueBind(_consumeQueueName, _stationName, _consumeQueueName);

                _consumer = new EventingBasicConsumer(_channel);

                _consumer.Received += (ch, ea) =>
                {
                    var body = ea.Body;
                    _channel.BasicAck(ea.DeliveryTag, false);

                    consumerFunction(body);
                };
                _consumerTag = _channel.BasicConsume(_consumeQueueName, false, _consumer);

                _initialized = true;
            }

            return(_initialized);
        }
Пример #2
0
        public bool RegisterQueue(ConsumerDel callBackFunc)
        {
            if (_iMessaging != null)
            {
                if (_iMessaging.Connected)
                {
                    return(_iMessaging.InitializeQueues(callBackFunc));
                }
            }

            return(false);
        }