gxwang Ответов: 1

Как извлечь метод для метода приема rabbitmq


Всем привет, я пытаюсь выучить rabbitmq с помощью tutoria(RabbitMQ-учебник RabbitMQ - " Привет, Мир!"[^]). Когда я хочу извлечь блок кода receieve в функцию как NewMethod и использовать NewMethod в основном методе. Я не могу получить сообщение в очереди. Любой может помочь, большое спасибо.
вот мой код Receive. cs.
<pre> public static void Main()
    {
        Console.WriteLine("message from NewMethod:" + NewMethod());
        Console.ReadLine();
    }

    static string NewMethod()
    {
        string message = string.Empty;
        var factory = new ConnectionFactory() { HostName = "localhost" };
        using (var connection = factory.CreateConnection())
        using (var channel = connection.CreateModel())
        {
            channel.QueueDeclare(queue: "hello",
                                durable: false,
                                exclusive: false,
                                autoDelete: false,
                                arguments: null);
            var consumer = new EventingBasicConsumer(channel);
            consumer.Received += (model, ea) =>
            {
                var body = ea.Body;
                message = Encoding.UTF8.GetString(body);
                Console.WriteLine("[x] Received {0}", message);

            };
            channel.BasicConsume(queue: "hello",
                                noAck: true,
                                consumer: consumer);
        }
        return message;
    }



Что я уже пробовал:

Я пробовал функцию без возвращаемого значения. но и потерпел неудачу

1 Ответов

Рейтинг:
0

Richard MacCutchan

Видеть RabbitMQ-Сообщество RabbitMQ[^].