Cómo usar el método MessageReceiver.Receive por sequenceNumber en ServiceBus

Estoy tratando de volver a enviar un mensaje desde una cola de boletines muertos.

Puedo reproducir un mensaje en una cola de mensajes no entregados, eso está bien. El problema es cuando quiero eliminar esto de la cola del boletín.

Esto es lo que estoy tratando de hacer:

var subscription = "mySubscription";
var topic = "myTopic";

var connectionString = "connectionStringOnAzure";
var messagingFactory = MessagingFactory.CreateFromConnectionString(connectionString);

var messageReceiver = messagingFactory.CreateMessageReceiver(SubscriptionClient.FormatDeadLetterPath(topic, subscription), ReceiveMode.ReceiveAndDelete);


long messageSequenceNumber = 835;
var brokeredMessage = messageReceiver.Receive(messageSequenceNumber);  // this part fails

// mark message as complete to remove from the queue
brokeredMessage.Complete();

Recibo el siguiente mensaje de error:

 Microsoft.ServiceBus.Messaging.MessageNotFoundException : Failed to lock one or more specified messages. The message does not exist..TrackingId:ae15edcc-06ac-4d2b-9059-009599cf5c4e_G5_B15,TimeStamp:8/13/2013 1:45:42 PM

Sin embargo, en lugar de especificar un número de secuencia de mensaje y solo uso ReceiveBatch como se muestra a continuación, está bien.

// this works and does not throw any errors
var brokeredMessages = messageReceiver.ReceiveBatch(10);

¿Me estoy perdiendo de algo? ¿O existe otra forma de reprocesar los puntos muertos y eliminarlos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta