Я хочу повторно отправить сообщение с моего сервера на сервер Rabbit MQ - PullRequest
0 голосов
/ 13 апреля 2020

Мое приложение написало C# язык. У меня есть сервер подключиться к Rabbit MQ. После того как мой сервер получит все сообщения от MQ, но он не обработает все сообщения, что получено. Это сообщение, которое еще не обработано, оно пропустило на MQ. Поэтому я хочу отправить это сообщение в Rabbit MQ. Я использовал BasicReject и BasicNACK, но повторной отправки не было. Сильфон - мой код, он перешлет все, что получено. Вы можете помочь мне? Пожалуйста. Спасибо всем большое!

try
        {
           var factory = new ConnectionFactory() { HostName ="localhost" };

           using (var connection = factory.CreateConnection())

           using (var channel = connection.CreateModel())
           {
               channel.QueueDeclare(queue: "start",
                               durable: true,
                               exclusive: false,
                               autoDelete: false,
                               arguments: null);

               var consumer = new EventingBasicConsumer(channel);
               consumer.Received += (model, ea) =>
               {
                   var body = ea.Body;
                   var message = Encoding.UTF8.GetString(body);

                   Console.WriteLine(" [x] Received {0}", message);

                   //channel.BasicNack(deliveryTag: ea.DeliveryTag, multiple: true, requeue: true);
                   channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: true);

               };

               channel.BasicConsume(queue: "start",
                                    autoAck: true,
                                    consumer: consumer);

               Console.WriteLine(" Press [enter] to exit.");
               Console.ReadLine();
           }
        }
        catch (Exception e)
        {

           throw e; 
        }
...