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);
}
}