Pie*_*rOz 5 .net c# rabbitmq rabbitmq-exchange
我对 RabbitMQ 还很陌生,我必须实现一个 .NET 客户端,该客户端需要将消息发布到第三方托管的 RabbitMQ 服务器上的 Exchange 实体。
与服务器的连接似乎运行良好,但是当我想声明我必须使用的 Exchange 通道时,情况变得更糟。
using (var connection = connectionFactory.CreateConnection())
{
IModel model = connection.CreateModel();
model.ExchangeDeclare(exchangeName, ExchangeType.Direct);
// ... the rest of the code is never reached
}
Run Code Online (Sandbox Code Playgroud)
通过这些行,我从服务器收到一条异常消息
The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=403, text="ACCESS_REFUSED - access to exchange ... in vhost ... refused for user ...", classId=40, methodId=10, cause=
"Connection Closed, error code 403 (ACCESS_REFUSED)"
Run Code Online (Sandbox Code Playgroud)
这是什么意思?这是否意味着为我提供连接到 AMQP 服务器的凭据的第三方尚未授予 Exchange“exchangeName”足够的权限?或者我在客户端做错了什么?我真的需要打电话吗ExchangeDeclare?
谢谢您的帮助
小智 0
ExchangeDeclarePassive()方法在这种情况下很方便。当连接到外部AMQP服务器时,大多数情况下,不需要显式声明exchange。您只需声明一个队列并将其绑定到现有交换器即可。有关交换的信息应通过您连接的任何服务提供给您。
| 归档时间: |
|
| 查看次数: |
2550 次 |
| 最近记录: |