Azure Storage Queues Transport Upgrade Version 7 to 8

Component: Azure Storage Queues Transport
This page targets a pre-release version and is subject to change prior to the final release.

Sanitization

In previous versions, the transport was responsible for sanitization of the queue names. That included:

  • Replacing invalid characters
  • Lowering the case
  • Shortening queue names exceeding the maximum allowed queue name length, using SHA1 or MD5

In Versions 8 and above, the transport is no longer performing sanitization by default. Instead, sanitization logic can be registered.

8-pre NServiceBus.Azure.Transports.WindowsAzureStorageQueues
var transport = endpointConfiguration.UseTransport<AzureStorageQueueTransport>();
transport.SanitizeQueueNamesWith(queueName => queueName.Replace('.', '-'));

Serialization is mandatory

In Versions 7 and below, the transport was setting the default serialization. In Versions 8 and above, the transport is no longer sets the default serialization. Instead, it should be configured.

For backwards compatibility, NServiceBus.Newtonsoft.Json serializer should be used.

8-pre NServiceBus.Azure.Transports.WindowsAzureStorageQueues
endpointConfiguration.UseSerialization<NewtonsoftSerializer>();

Delayed delivery

In Versions 8 and above, delayed delivery implemented by the transport can be turned off to disable unnecessary Azure Storage table polling.

8-pre NServiceBus.Azure.Transports.WindowsAzureStorageQueues
var transport = endpointConfiguration.UseTransport<AzureStorageQueueTransport>();
var delayedDelivery = transport.DelayedDelivery();
delayedDelivery.DisableDelayedDelivery();

Related Articles


Last modified