private void PostMessageToDestQueue(AzureDestinationQueueConnection destQueue, CloudQueueMessage outboundMessage, TimeSpan?ttl)
{
CloudQueueMessage outMsg = outboundMessage;
try
{
destQueue.AddMessage(outMsg, ttl);
}
catch (StorageException ex)
{
const int queueNotFound = -2146233088;
if (ex.HResult != queueNotFound) // Queue not found
{
throw;
}
this.LogWarning("Queue \"{0}\" not found. Recreating.", destQueue.Queue.Name);
// Re-create the queue and retry
destQueue.Queue.CreateIfNotExists();
destQueue.AddMessage(outMsg, ttl);
}
}