- bool flag = true;
- string pattern = "";
- while (flag)
- {
- Console.WriteLine("请选择Ccnsumer模式 1(发短信)/2(发邮件)");
- pattern = Console.ReadLine();
- if (pattern == "1" || pattern == "2")
- flag = false;
- else
- Console.Write("请做出正确的选择");
- }
- using (var channel = RabbitMqHelper.GetConnection().CreateModel())
- {
- //声明交换机 Fanout模式
- channel.ExchangeDeclare("fanoutExchange", ExchangeType.Fanout, true, false, null);
- //根据声明使用的队列
- var queueName = pattern == "1" ? "sms" : "emai";
- channel.QueueDeclare(queueName, true, false, false, null);
- //进行绑定
- channel.QueueBind(queueName, "fanoutExchange", string.Empty, null);
- //创建consumbers
- var consumer = new EventingBasicConsumer(channel);
- consumer.Received += (sender, e) =>
- {
- var msg = Encoding.UTF8.GetString(e.Body);
- var action = (pattern == "1" ? "发短信" : "发邮件");
- Console.WriteLine($"给{msg}{action}");
- };
- //进行消费
- channel.BasicConsume(queueName, true, consumer);
- Console.ReadKey();
- }
来源: