I've got started with Azure Service Bus in Azure. Having gone through some references over the Internet, it seems that people use BrokeredMessage class in Microsoft.ServiceBus.Messaging rather than Message class in Microsoft.Azure.ServiceBus.
- BrokeredMessage class: https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.messaging.brokeredmessage?view=azure-dotnet
- Message class: https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.message?view=azure-dotnet
I can send both of message 'types' to Azure Service Bus and also work with them over Azure Service Bus. Also, both can be used in Asynchronous operation. What are the main differences between the two types?
[Update] This article gives best practices of Azure Service Bus when exchaning brokered message (https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-performance-improvements). I'm unsure if it is also referred to Message in Microsoft.Azure.ServiceBus.
If it's a new project to use Azure Service Bus, I would recommend the following:
- Prefer the new .NET Standard client (
Microsoft.Azure.ServiceBus
) withMessage
. - Be careful with documentation and various resources. They mostly cater to the old client (hopefully MSFT doco soon to change).
- If you need transport transactions spanning different entities, the new client can't provide it yet.
- If you need management opersations, the new client won't provide it. Ever. Instead you'd have to use Management library or wait till a replacement package for
NamespaceManager
is out. - If you have old systems emitting messages sent as serialized data and not Stream, implementations using new Client have to know about it and use extension method provided by the client to process those messages. New client only deals with
Stream
based messages.
As Gaurav Mantiri mentioned that Microsoft.Azure.ServiceBus is the newer version of the library built using .Net Standard.
You could get the detail information from github.
This is the next generation Service Bus .NET client library that focuses on queues & topics. This library is built using .NET Standard 1.3.
来源:https://stackoverflow.com/questions/49045149/difference-between-brokeredmessage-class-in-microsoft-servicebus-and-message-cla