如何在 CloudAMQP 上连接 MassTransit 和 RabbitMq

How to connect MassTransit with RabbitMq on CloudAMQP

我在将 MassTransit 与 CloudAMQP 上的 RabbitMq 连接时遇到问题。下面是我的代码

var bus = Bus.Factory.CreateUsingRabbitMq(otions => {
    var host = otions.Host(new Uri("rabbitmq://llama-01.rmq.cloudamqp.com"),
    h => { h.Username("my_username"); h.Password("my_password"); });
    otions.ReceiveEndpoint(host, "recvqueue", ep => {
        ep.Handler<Communicate>(Handle);
    });
});

bus.Start();

h.Passwordh.Username 是正确的。 当我尝试启动总线时出现以下错误:

RabbitMQ Connect Failed: Broker unreachable: my_username@llama-01.rmq.cloudamqp.com:5672/

我怀疑问题出在 URI 地址上,但我找不到正确的地址。

嗯,我快速浏览了他们的入门指南,我可以看到您的实例获得了一个与您的用户同名的虚拟主机。

上图是我订阅免费计划后得到的。

对于 MassTransit,您需要在连接字符串的末尾添加 vhost,例如 rabbitmq://llama-01.rmq.cloudamqp.com/my_username,或者在主机配置中配置它,以及用户名和密码。