首页 > 解决方案 > 如何使用 servicebusClient 访问 RabbitMQ?

问题描述

RabbitMQ 和 Servicebus(通过在 connectionstring 中添加 TransportType=Amqp)都支持 AMQP。我在我的 C# 代码中使用 ServiceBusClient,如何让它连接到我的 RabbitMQ?

所以我的服务总线是这样的:

    <add key="Microsoft.ServiceBus.ConnectionString"
value="Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[SAS key];TransportType=Amqp" />

带有用户名和密码的 RabbitMQ 示例如下所示:

"amqp://" amqp_authority [ "/" vhost ] [ "?" query ]

如何转换连接字符串?以及如何用用户名和密码替换 SharedAccessKey?

笔记:

这个问题在 3 年前就已经被问过了,但从那时起,框架不断发展,正如我所提到的,现在支持 AMQP,所以答案不再相关。

标签: c#.net-corerabbitmqazureservicebus

解决方案


尽管 Azure 服务总线使用 AMQP 1.0 进行传输,但我认为它本身不能用作通用 AMQP 客户端,因为 SDK 只是具有自己的 API 接口的C# AMQP库的包装器。

如果打算为不同的代理拥有相同的代码库,那么使用通用 AMQP 库可能会更好amqpnetlite


推荐阅读