1、RabbitMQListener,自定义消息监听器
using RabbitMQ.Client; using RabbitMQ.Client.Events; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using RabbitMQ.Client.Exceptions; namespace MQ_Receive { /// <summary> /// RabbitMq消息监听器 /// </summary> public class RabbitMqListener { private ConnectionFactory _factory; private IConnection _con; private IModel _channel; private EventingBasicConsumer _consumer; private readonly string _rabbitMqUri; private readonly string _exchangeType; private readonly string _exchangeName; private readonly string _queueName; private readonly string _routeKey; private Func<string, bool> _messageHandler; /// <summary> /// RabbitMQ消息监听器,若指定的队列不存在,则自动创建队列。并在消息交换机上绑定指定的消息路由规则(路由key) /// </summary> /// <param name="rabbitMqUri">连接串,如 amqp://guest:guest@localhost:5672/</param> /// <param name="exchangeName">消息交换机</param> /// <param name="exchangeType">交换机类型,如 ExchangeType.Direct</param> /// <param name="queueName">要监听的队列</param> /// <param name="routeKey">消息路由key</param> public</