为什么使用QueueClient和MessageFactory?

Mit*_*tul 13 azure azureservicebus azure-servicebus-queues

在Azure Service Bus中,您可以使用QueueClient和发送代理消息MessageFactory.我想知道你为什么要用一个而不是另一个.

Tho*_*mas 19

Azure Service Bus提供了不同的发送/接收消息的方式.

  • 您可以使用QueueClient发送和接收队列的消息.
  • 您可以使用该TopicClient消息发送主题
  • 您可以使用它SubscriptionClient来接收订阅的消息.

使用MessageSenderMessageReceiver,您创建实体类型不变的发送方和接收方:

var factory = MessagingFactory.CreateFromConnectionString("MyConnectionString");
Run Code Online (Sandbox Code Playgroud)

如果您需要从队列切换到主题,或者反之亦然,这些抽象可以为您提供更大的灵活性,因为您只需要更改服务总线实体的路径(这可能在您的配置文件中),因此无需更改代码.使用QueueClient,TopicClient,SubscriptionClient,你必须改变你的代码,如果你想从一个队列移动到一个话题.

所以我的建议是要始终使用MessageReceiver/ MessageSender时,你必须从/发送/接收信息到一个Azure的ServiceBus队列话题/订阅.

注意:这不适用于具有不同实现的Eventhub.

  • 如果MessageReceivers/Senders完成主题/订阅/队列客户端的工作,而且它们更灵活且面向未来,为什么首先需要xxxClients?xxxClients优于MessageReceivers/Senders的优势是什么? (4认同)