Ejemplo n.º 1
0
 /// <summary>
 /// 添加默认设置项
 /// </summary>
 public static void ExchangeDeclare_(this IModel channel,
                                     string exchange_name, ExchangeTypeEnum exchange_type,
                                     bool durable = true, bool auto_delete = false, bool is_delay = false)
 {
     if (is_delay)
     {
         var args = new Dictionary <string, object>()
         {
             ["x-delayed-type"] = exchange_type.GetExchangeTypeName()
         };
         channel.ExchangeDeclare(exchange_name, "x-delayed-message", durable, auto_delete, args);
     }
     else
     {
         channel.ExchangeDeclare(exchange_name, exchange_type.GetExchangeTypeName(), durable, auto_delete, null);
     }
 }
Ejemplo n.º 2
0
        public static void CreateExchange(this IModel channel,
                                          string exchange, ExchangeTypeEnum exchange_type, ExchangeOption option)
        {
            if (option == null)
            {
                throw new ArgumentNullException($"{nameof(CreateExchange)}.{nameof(option)}");
            }
            option.Args = option.Args ?? new Dictionary <string, object>();

            var exchange_type_name = exchange_type.GetExchangeTypeName();

            if (exchange_type == ExchangeTypeEnum.delay)
            {
                option.Args["x-delayed-type"] = exchange_type_name;
            }

            channel.ExchangeDeclare(exchange: exchange, type: exchange_type_name,
                                    durable: option.Durable, autoDelete: option.AutoDelete, arguments: option.Args);
        }