首页 > 解决方案 > RabbitMQ:如何创建一个始终在监听的消费者

问题描述

我需要创建一个始终在.NET Framework(4.8)中运行和侦听排队消息的消费者,而不是核心!

接下来的代码是工作的核心。RabbitHelper 封装了一些操作,比如创建连接等等……

class Program
{
    static void Main(string[] args)
    {
        RabbitHelper.Init("host", 123, "user", "password", "Provider", "virtual");

        const string queueName = "MYQUEUE";

        var consumer = new AsyncEventingBasicConsumer(RabbitHelper.channel);
        consumer.Received += Consumer_Received;

        RabbitHelper.channel.BasicConsume(queueName, true, consumer);

    }

    private static async Task Consumer_Received(object sender, BasicDeliverEventArgs eevent)
    {
        var message = Encoding.UTF8.GetString(eevent.Body.ToArray());

        Console.WriteLine($"Begin processing {message}");

        await Task.Delay(250);

        Console.WriteLine($"End processing {message}");
    }
}

标签: c#rabbitmq

解决方案


推荐阅读