Azure Service Bus Transport

The Azure Service Bus transport leverages the Azure.Messaging.ServiceBus client library for .NET.

Azure Service Bus is a messaging service hosted on the Azure platform that allows for exchanging messages between various applications in a loosely coupled fashion. The service offers guaranteed message delivery and supports a range of standard protocols (e.g. REST, AMQP, WS*) and APIs such as native pub/sub, delayed delivery, and more.

Transport at a glance

Feature
TransactionsNone, ReceiveOnly, SendsAtomicWithReceive
Pub/SubNative
TimeoutsNative
Large message bodieswith Premium tier or data bus
Scale-outCompeting consumer
Scripted DeploymentSupported using NServiceBus.Transport.AzureServiceBus.CommandLine
InstallersOptional
Native integrationSupported
Message sessionsNot supported
Case SensitiveNo
Aspire integrationYes

Support for Azure Service Bus message sessions is being considered. If session-based ordered processing is required, add a thumbs-up or share the use case on issue #535.

Azure Service Bus Emulator

The Azure Service Bus transport works with the Azure Service Bus emulator. To use the emulator, your connection string must include UseDevelopmentEmulator=true;

Known Emulator Limitations

The emulator is only suitable for small systems, since it contains limitations on connections and queue size. For anything larger, a full Azure Service Bus instance will be required.

The current known limitations that affect functionality with the Particular Service Platform are:

  • A limit of 10 connections. Each NServiceBus endpoint will use a connection for sending and a connection for receiving, effectively using 2 connections for a full endpoint.
  • MaxDeliveryCount is fixed at 10.

List of Samples

Related Articles