Inheritance: Microsoft.WindowsAzure.StorageClient.CloudQueueMessage
 public static void UpdateMessage(this CloudQueue queue, CloudQueueMessageMutable message, string body, TimeSpan? visibilityTimeout)
 {
     var req = (HttpWebRequest)WebRequest.Create(
         queue.Uri.AbsoluteUri +
         string.Format("/messages/{0}?popreceipt={1}&visibilitytimeout={2}",
             message.Id, Uri.EscapeDataString(message.PopReceipt),
             (int)(visibilityTimeout.HasValue
              ? visibilityTimeout.Value
              : (message.NextVisibleTime.Value - DateTime.UtcNow)
             ).TotalSeconds)
     );
     req.Method = "PUT";
     req.Headers["x-ms-version"] = "2011-08-18";
     if (body != null)
     {
         var bytes = QueueRequest.GenerateMessageRequestBody(body);
         req.ContentLength = bytes.Length;
         queue.ServiceClient.Credentials.SignRequest(req);
         using (var stream = req.GetRequestStream())
         {
             stream.Write(bytes, 0, bytes.Length);
         }
         message.Content = body;
     }
     else
     {
         req.ContentLength = 0;
         queue.ServiceClient.Credentials.SignRequest(req);
     }
     using (var response = (HttpWebResponse)req.GetResponse())
     {
         if (response.StatusCode != HttpStatusCode.NoContent)
         {
             throw new InvalidOperationException("Unexpected response code: " + response.StatusCode);
         }
         message.PopReceipt = response.Headers["x-ms-popreceipt"];
         message.NextVisibleTime = DateTime.Parse(response.Headers["x-ms-time-next-visible"]);
     }
 }
 public static void UpdateMessage(this CloudQueue queue, CloudQueueMessageMutable message, string body)
 {
     UpdateMessage(queue, message, Convert.ToBase64String(Encoding.UTF8.GetBytes(body)), null);
 }
 public static void RenewMessage(this CloudQueue queue, CloudQueueMessageMutable message, TimeSpan visibilityTimeout)
 {
     UpdateMessage(queue, message, null, visibilityTimeout);
 }
 public static void UpdateMessage(this CloudQueue queue, CloudQueueMessageMutable message, byte[] body)
 {
     UpdateMessage(queue, message, Convert.ToBase64String(body), null);
 }
 public static void DeleteMessageMutable(this CloudQueue queue, CloudQueueMessageMutable message)
 {
     queue.DeleteMessage(message.Id, message.PopReceipt);
 }