Warm tip: This article is reproduced from serverfault.com, please click

.net-RabbitMQ 异常“无法访问指定的端点”

(.net - RabbitMQ Exception 'None of the specified endpoints were reachable')

发布于 2021-01-02 16:49:14

我遵循了关于 RabbitMQ 的教程,但遇到了创建连接时发生的异常。整个方法如下图所示:

class Program
{
    static void Main(string[] args)
    {
        var factory = new ConnectionFactory { Uri = new Uri("amqp://guest:guest@localhost:15672/") };
        using var connection = factory.CreateConnection();
        using var channel = connection.CreateModel();
        channel.QueueDeclare("demo-queue",
            durable: true,
            exclusive: false,
            autoDelete: false,
            arguments: null);

        var consumer = new EventingBasicConsumer(channel);
        consumer.Received += (sender, e) =>
        {
            var body = e.Body.ToArray();
            var message = Encoding.UTF8.GetString(body);
            Console.WriteLine(message);
        };
        channel.BasicConsume("demo-queue", true, consumer);
    }
}

在这条线上:using var connection = factory.CreateConnection();我得到了这个:

RabbitMQ.Client.Exceptions.BrokerUnreachableException: '没有一个指定的端点是可达的'

以及三个内部例外:

ExtendedSocketException:无法建立连接,因为目标机器主动拒绝它。127.0.0.1:15672

ConnectFailureException: 连接失败

AggregateException:发生一个或多个错误。(连接失败)

这个异常的原因是什么?Uri错误或未正确正确设置吗?RabbitMQ 似乎运行良好,因为我可以登录到 http://localhost:15672/ 并且它已启动并正在运行。

先感谢你。

编辑:我把 5672 作为 Uri 中的端口,结果是一样的。

Questioner
Questieme
Viewed
0
Questieme 2021-01-03 01:07:52

关闭防火墙后,它开始工作。