首页 新闻 赞助 找找看

Rabbitmq.Client 在 Asp .Net Mvc程序中使用并发布到IIS ,手动确认失败

1
悬赏园豆:10 [待解决问题]

asp .net mvc程序发布到IIS
consumer.Received 去监听处理的时候,使用的BasicAck 手动确认,发现处理了消息,但是手动确认并未成功,该消息还在队列中

using (IConnection connection = factory.CreateConnection())
{
using (var _recvChannel = connection.CreateModel())
{
_recvChannel.QueueDeclare(queue, true, false, false, null);

                    var consumer = new EventingBasicConsumer(_recvChannel);
                    consumer.Received += (sender, ea) =>
                    {
                        var body = Encoding.UTF8.GetString(ea.Body.ToArray());
                        var Head = ea.BasicProperties.Headers;
                        if (true)
                        {
                            _recvChannel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); //这里未生效
                        }
                        else
                        {
                            _recvChannel.BasicNack(deliveryTag: ea.DeliveryTag, multiple: false, requeue: true);
                        }
                    };
                    _recvChannel.BasicConsume(queue: queue, autoAck: false, consumer: consumer);
                    Console.ReadLine();
            }
        }
yorkye的主页 yorkye | 初学一级 | 园豆:123
提问于:2021-09-22 11:22
< >
分享
所有回答(2)
0

00000000

阿山早 | 园豆:410 (菜鸟二级) | 2021-09-25 20:05
0

(sender as EventingBasicConsumer).Model.BasicAck();

_baci | 园豆:206 (菜鸟二级) | 2024-03-21 14:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册