Azure Service Bus Transport

Component: Azure Service Bus Transport | Nuget: NServiceBus.Azure.Transports.WindowsAzureServiceBus (Version: 7.x)
Target NServiceBus Version: 6.x

Prerequisites

An environment variable named AzureServiceBus.ConnectionString with the connection string for the Azure Service Bus namespace.

Azure Service Bus Transport

This sample utilizes the Azure Service Bus Transport.

Code walk-through

This sample shows a simple two endpoint scenario.

  • Endpoint1 sends a Message1 message to Endpoint1.
  • Endpoint2 replies to Endpoint1 with a Message2.

Azure Service Bus configuration

The Server endpoint is configured to use the Azure Storage persistence in two locations.

Edit
var endpointConfiguration = new EndpointConfiguration("Samples.Azure.ServiceBus.Endpoint1");
endpointConfiguration.SendFailedMessagesTo("error");
var transport = endpointConfiguration.UseTransport<AzureServiceBusTransport>();
var connectionString = Environment.GetEnvironmentVariable("AzureServiceBus.ConnectionString");
if (string.IsNullOrWhiteSpace(connectionString))
{
    throw new Exception("Could not read the 'AzureServiceBus.ConnectionString' environment variable. Check the sample prerequisites.");
}
transport.ConnectionString(connectionString);
transport.UseForwardingTopology();

Some things to note:

  • The use of the SamplesAzureServiceBusConnection environment variable mentioned above.

Viewing message in-flight

The following queues for the two endpoints can be seen in the Azure Portal or a 3rd party tool:

  • samples.azure.servicebus.endpoint1
  • samples.azure.servicebus.endpoint2
  • error

Related Articles


Last modified