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); } }
/// <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)); }