Перед чтением очереди сообщений из очереди сообщений следует проверить причину сбоя? Если какая-то служба была недоступна, тогда создайте WebJob и попробуйте ниже код и обработайте сообщения.
public void GetDeadLetterMessagesAsync(string connectionString, string queueName)
{
var queueClient = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(queueName));
while (true)
{
BrokeredMessage bmessgage = queueClient.Receive();
if (bmessgage != null)
{
string msg = new StreamReader(bmessgage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
//Custom business logic to prcess your message
bmessgage.Complete();
}
else
{
break;
}
}
}
Если сообщение имеет проблему, то вам следует прочитать и отобразить сообщение на интерфейсе пользователя, чтобы бэк-офис команды мог исправить сообщение, иначе это будет снова провал.