Microsoft.ServiceBus中的BrokeredMessage类与Microsoft.Azure.ServiceBus中的Message类之间的区别

时间:2018-03-01 08:04:20

标签: azure azureservicebus

我已经开始使用Azure中的Azure Service Bus了。通过Internet浏览了一些参考资料,似乎人们在Microsoft.Arure.ServiceBus中使用Microsoft.ServiceBus.Messaging中的 BrokeredMessage 类而不是 Message 类。

我可以发送两种消息'类型'到Azure Service Bus并通过Azure Service Bus与它们一起使用。此外,两者都可用于异步操作。这两种类型的主要区别是什么?

[更新]本文介绍了在交换代理消息(https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-performance-improvements)时Azure Service Bus的最佳做法。我不确定它是否也被引用到Microsoft.Azure.ServiceBus中的消息

2 个答案:

答案 0 :(得分:13)

如果是使用Azure Service Bus的新项目,我建议如下:

  • 首选新的.NET Standard客户端(Microsoft.Azure.ServiceBusMessage
  • 注意文档和各种资源。他们主要迎合老客户(希望MSFT doco很快就能改变)。
  • 如果您需要跨越不同实体的传输事务,则新客户端无法提供它。
  • 如果您需要管理操作,新客户将不会提供。永远。相反,您必须使用管理库或等到NamespaceManager的替换包已用完。
  • 如果旧系统发出的消息是作为序列化数据而不是Stream发送的,则使用新客户端的实现必须了解它并使用客户端提供的扩展方法来处理这些消息。新客户仅处理基于Stream的消息。

答案 1 :(得分:2)

正如Gaurav Mantiri所说,Microsoft.Azure.ServiceBus是使用.Net Standard构建的库的较新版本。

您可以从github获取详细信息。

  

这是下一代Service Bus .NET客户端库,专注于队列和话题。该库使用 .NET Standard 1.3 构建。