public async Task FreeAsync() { if (m_acquiredLease != null) { try { await m_blob.ReleaseLeaseAsync(m_acquiredLease); } catch (Exception exception) { s_logger.Error( exception, "Acquired at {AcquisitionTime} session's ({StreamName}, {ConsumerId}) lease releasing failed.", m_leaseAcquisitionTime, m_streamName, m_consumerId); } finally { m_acquiredLease = null; m_leaseAcquisitionTime = DateTimeOffset.MinValue; m_sessionsExpiresOn = DateTimeOffset.MinValue; } } }
public static async Task <Lease> ReleaseAsync(ICloudBlockBlob blob, Lease lease) { Require.NotNull(blob, "blob"); Require.NotNull(lease, "lease"); Ensure.True(lease.m_leaseId.IsNotNullOrEmpty(), "Lease was not acquired"); await blob.ReleaseLeaseAsync(lease.m_leaseId); return(NotAcquired); }