C# RabbitMq在没有连接的情况下丢失消息

C# RabbitMq在没有连接的情况下丢失消息,c#,rabbitmq,message-queue,C#,Rabbitmq,Message Queue,我最近安装了rabbitMq 我不熟悉很多ampq术语,所以我可能遗漏了一些简单的东西 我的情景 我有一个队列,我已将消息发布到该队列,并连接和断开了一些消费者或客户端 即使在我断开客户端连接后,队列仍将丢失消息,大约每5秒丢失1条消息(我不知道消息要去哪里) 我一直在搜索流氓连接或仍然连接并占用队列的应用程序,但我找不到任何东西 rabbitmq控制台中没有列出的连接 下面是正在讨论的当前队列的设置。我不确定这是否是足够的信息 下面是我当前对消息排队的方式 var factory = ne

我最近安装了rabbitMq

我不熟悉很多ampq术语,所以我可能遗漏了一些简单的东西

我的情景 我有一个队列,我已将消息发布到该队列,并连接和断开了一些消费者或客户端

即使在我断开客户端连接后,队列仍将丢失消息,大约每5秒丢失1条消息(我不知道消息要去哪里)

我一直在搜索流氓连接或仍然连接并占用队列的应用程序,但我找不到任何东西

rabbitmq控制台中没有列出的连接

下面是正在讨论的当前队列的设置。我不确定这是否是足够的信息

下面是我当前对消息排队的方式

var factory = new ConnectionFactory { /* Conneciton Info */};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
    var basicProps = channel.CreateBasicProperties();
    basicProps.ContentType = "application/json";
    basicProps.MessageId = Guid.NewGuid().ToString("D");
    basicProps.SetPersistent(true);
    
    //declare queue
    channel.QueueDeclare("MyQueue", true, false, false, null);
    
    var message = SerializeMessageToJson(someMessage);
    var body = Encoding.UTF8.GetBytes(body);
    
    channel.BasicPublish("", "MyQueue", basicProps, body);
}

如果有人能给我指出一些需要排除故障或调查的地方,那就太棒了。

你用每封邮件的ttl集()发布邮件吗?@zaq178不,我没有。我已经更新了我的帖子,以显示我当前用于发布消息的代码。在“连接”选项卡中没有连接的情况下,是否可以使用消息?嗯。。。你有没有安装铲子插件(或者类似的东西)?也许你的消费者真的在后台某个地方运行,并定期收到消息?此外,还有rabbitmq官方邮件列表-,请尝试在那里询问。