RabbitMQ/RabbitMQConsumer/SimpleSub.cs
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace RabbitMQConsumer
{
using CommonLib.RabbitMQ;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Text;
static class SimpleSub
{
private static readonly string queueName = "test.simple.queue";
private static void Main(string[] args)
{
Console.WriteLine($"{nameof(SimpleSub)}:");
using RabbitMQHelper mq = new(new string[] { "192.168.181.191" });
mq.UserName = "guest";
mq.Password = "guest";
mq.Port = 5672;
mq.Received += (result) =>
{
Console.WriteLine($"message:{result.Body}");
result.Commit();
};
mq.Listen(queueName, new ConsumeQueueOptions { AutoAck = false});
#if rabbitMQClient
// RabbitMQ连接工厂
ConnectionFactory factory = BaseConsumer.CreateRabbitMqConnection();
// 建立连接
using IConnection connection = factory.CreateConnection();
// 创建信道
using IModel channel = connection.CreateModel();
EventingBasicConsumer consumer = new(channel);
// 每次只能向消费者发送一条信息,在消费者未确认之前,不再向它发送信息
channel.BasicQos(0, 1, false);
channel.BasicConsume(queue: queueName, autoAck: false, consumer: consumer);
// 绑定消息接收后的事件委托
consumer.Received += (model, message) =>
{
Console.WriteLine($"Message:{Encoding.UTF8.GetString(message.Body.ToArray())}");
channel.BasicAck(
deliveryTag: message.DeliveryTag,
// 是否一次性确认多条数据
multiple: false);
};
#endif
Console.ReadLine();
}
后面还有 2 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
