/// <summary> /// Puts the lease on the given container in a renewed state. /// </summary> /// <param name="container">The container with the lease.</param> /// <param name="leaseTime">The amount of time on the renewed lease.</param> /// <returns>The lease ID of the current lease.</returns> internal static string SetRenewedStateAPM(CloudBlobContainer container, TimeSpan? leaseTime) { string leaseId = SetLeasedStateAPM(container, leaseTime); using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { IAsyncResult result = container.BeginRenewLease(AccessCondition.GenerateLeaseCondition(leaseId), ar => waitHandle.Set(), null); waitHandle.WaitOne(); container.EndRenewLease(result); return leaseId; } }