/// <summary> /// Moves message to a dead letter queue which has the same name as original queue prefixed with "-deadletter". This is done because /// Azure Storage queues do not support deadlettering directly. /// </summary> public async Task DeadLetterAsync(QueueMessage message, string reason, string errorDescription, CancellationToken cancellationToken) { var dead = (QueueMessage)message.Clone(); dead.Properties["deadLetterReason"] = reason; dead.Properties["deadLetterError"] = errorDescription; CloudQueue deadLetterQueue = await GetDeadLetterQueue(); await deadLetterQueue.AddMessageAsync(Converter.ToCloudQueueMessage(message)); await ConfirmMessageAsync(message, cancellationToken); }