Masstransit 和 RabbitMQ 权限

Masstransit and RabbitMQ permissions

我正在尝试找出 Masstransit 2.9.9 和 RabbitMQ 3.4.3。我在服务器上安装了 RabbitMQ,并试图从我的桌面获取一个简单的控制台应用程序来发送消息。我创建了另一个管理员登录名。

我不断收到权限错误,总线无法初始化。

ACCESS_REFUSED - 使用身份验证机制 PLAIN 拒绝登录。有关详细信息,请参阅代理日志文件。

当我查看日志文件时,即使我发送另一个登录名,它似乎也在使用 guest。

IServiceBus bus = ServiceBusFactory.New(sbc =>
            {
                sbc.UseRabbitMq(r =>
                  {

                      r.ConfigureHost(new Uri("rabbitmq://server/vhost/queue"), h =>
                      {
                          h.Validate();
                          h.SetUsername("user");
                          h.SetPassword("pwd");
                      });
                  }
                sbc.ReceiveFrom("rabbitmq://server/order_queue");
}

我看到可能需要为 rabbit 配置 ssl,但我不确定。

有什么想法吗?

谢谢

我遇到了完全相同的问题(我是第一次测试 Masstransit 和 rabbitMq)。我在 Uri 中添加了用户名和密码:

new Uri("rabbitmq://user:pwd@server/vhost/queue")

我认为您的 ReceiveFrom 地址需要用户名和密码。还需要虚拟主机。

sbc.ReceiveFrom("rabbitmq://user:pwd@server/vhost/order_queue");

敲了敲脑袋,masstransit rabbitmq nuget 包附带的 rabbit 客户端似乎有点过时了。我做了更新,代码有效。唯一的变化是从 configurehost

中删除队列
r.ConfigureHost(new Uri("rabbitmq://server/vhost"), h => ....