jaapyang/books

C#能连接到RabbitMQ,但不能正确触发消息到达并消费的事件

Closed this issue · 0 comments

  • 通过观察RabbitMQ的状态,发现消息已经被C#接收
  • C#已经启动消息接受,但不能触发消息到达的事件

···
void HandlerRecivedMessage(string hostName, string queuename, Action<object, BasicDeliverEventArgs> callBack)
{
var facotry = new ConnectionFactory { HostName = hostName };

using (var connection = facotry.CreateConnection())
using (var channel = connection.CreateModel())
{
    channel.QueueDeclare(queue: queuename,
        durable: false,
        exclusive: false,
        autoDelete: false,
        arguments: null);

    var consumer = new EventingBasicConsumer(channel);

    consumer.Received += (m, e) => callBack(m, e);

    channel.BasicConsume(queue: queuename,
        autoAck: true,
        consumer: consumer);
}
Console.WriteLine(@"开始信息处理....");
Console.ReadLine();

}
···