Esempio n. 1
0
        public ProducingService(ProducingConfig config) : base(config)
        {
            _config   = config;
            _channels = new Dictionary <QueueConfig, IModel>();
            var isFirst = true;

            foreach (QueueConfig queueConfig in _config.QueueConfigs)
            {
                if (_channels.ContainsKey(queueConfig))
                {
                    continue;
                }
                IModel channel;
                if (isFirst)
                {
                    channel = GetChannel(_connection, _config.ExchangeConfig, queueConfig);
                    isFirst = false;
                }
                else
                {
                    channel = GetChannel(_connection, queueConfig);
                }
                _channels.Add(queueConfig, channel);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获得简单生产者服务
        /// </summary>
        /// <param name="exchangeName"></param>
        /// <param name="queueName"></param>
        /// <param name="Durable"></param>
        /// <returns></returns>
        public ProducingService GetSimplestProducingService(string exchangeName, string queueName, bool Durable = false)
        {
            var config = new ProducingConfig
            {
                Encoding       = Encoding.UTF8,
                ExchangeConfig = new ExchangeConfig {
                    ExchangeName = exchangeName
                },
                HostName     = _config.HostName,
                Port         = _config.Port,
                UserName     = _config.UserName,
                Password     = _config.Password,
                QueueConfigs = new[]
                {
                    new QueueConfig
                    {
                        Durable   = Durable,
                        QueueName = queueName,
                    }
                },
                Timeout = _config.Timeout
            };

            return(new ProducingService(config));
        }