gpt4 book ai didi

c# - Windows Azure 服务总线队列 - MessageSender 还是 QueueClient?

转载 作者:太空狗 更新时间:2023-10-29 20:55:12 26 4
gpt4 key购买 nike

背景故事:

几个月前(当我刚接触 Azure 队列和 SDK 工具时),我在 Google 上搜索了“我该怎么做”和“我该怎么做”...这就是我今天所处的位置:

  1. 我正在使用QueueClient (Microsoft.ServiceBus.Messaging - Microsoft.ServiceBus.dll)从 Azure 队列接收消息。

  2. 在我的同一个程序中,我还使用 MessageSender (来自相同的命名空间和 dll)将消息发送到 Azure 队列。

  3. 我的程序必须跟踪 Dictionary<string, QueueClient>和一个 Dictionary<string, MessageSender> - 这比应有的更复杂。

现在我对 Azure SDK 更加熟悉了...我意识到 QueueClient类可以发送和接收...那么,当第一个对象可以同时执行这两种操作时,为什么我要跟踪 2 个对象呢?

问题:

有什么理由使用 MessageSender类而不是 QueueClient类?

如果我需要发送和接收,我不应该只使用 QueueClient类?

最佳答案

我们公开了两个不同的对象来支持对称性和易用性。如您所知,我们有Topics/Subscriptions以及Queues 。如果您只是使用队列,那么您可以创建一个 QueueClient 并通过它实现所需的所有操作。但是假设您后来想要转向主题/订阅发布-订阅模型。针对通用编程 MessageSenderMessageReciever将允许您更改底层拓扑,而不必修改任何代码(只需 address urls/names )。因此,您可以编写既可以在队列也可以在主题/订阅场景中工作的代码。

关于c# - Windows Azure 服务总线队列 - MessageSender 还是 QueueClient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9329918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com