/// <summary> /// Puts the lease on the given container in a broken state due to a break period of zero. /// </summary> /// <param name="container">The container with the lease.</param> /// <returns>The lease ID of the broken lease.</returns> internal static string SetInstantBrokenState(CloudBlobContainer container) { string leaseId = SetLeasedState(container, null /* infinite lease */); container.BreakLease(TimeSpan.Zero); return leaseId; }
/// <summary> /// Puts the lease on the given container in a breaking state for 60 seconds. /// </summary> /// <param name="container">The container with the lease.</param> /// <returns>The lease ID of the current (but breaking) lease.</returns> internal static string SetBreakingState(CloudBlobContainer container) { string leaseId = SetLeasedState(container, null /* infinite lease */); container.BreakLease(TimeSpan.FromSeconds(60)); return leaseId; }
/// <summary> /// Puts the lease on the given container in a broken state due to the break period expiring. /// </summary> /// <param name="container">The container with the lease.</param> /// <returns>The lease ID of the broken lease.</returns> internal static string SetTimeBrokenState(CloudBlobContainer container) { string leaseId = SetLeasedState(container, null /* infinite lease */); container.BreakLease(TimeSpan.FromSeconds(1)); Thread.Sleep(TimeSpan.FromSeconds(2)); return leaseId; }
/// <summary> /// Puts the lease on the given container in an unleased state (either available or broken). /// </summary> /// <param name="container">The container with the lease.</param> internal static void SetUnleasedState(CloudBlobContainer container) { if (!container.CreateIfNotExists()) { try { container.BreakLease(TimeSpan.Zero); } catch (StorageException e) { if (e.RequestInformation.ExtendedErrorInformation.ErrorCode == BlobErrorCodeStrings.LeaseAlreadyBroken || e.RequestInformation.ExtendedErrorInformation.ErrorCode == BlobErrorCodeStrings.LeaseNotPresentWithLeaseOperation) { } else { throw; } } } }