Пример #1
0
        public AutoRenewLease(CloudBlockBlob blob)
        {
            _blob = blob;

            // acquire lease
            LeaseId = blob.TryAcquireLease(TimeSpan.FromSeconds(60));
            if (!HasLease) return;

            // keep renewing lease
            var fortySeconds = TimeSpan.FromSeconds(40);
            _renewalTimer = new Timer(x =>
            {
                if (_isRenewing)
                    blob.RenewLease(AccessCondition.GenerateLeaseCondition(LeaseId));
            }, null, fortySeconds, fortySeconds);
        }
Пример #2
0
 public AutoRenewLease(CloudBlockBlob blob)
 {
     this.blob = blob;
     blob.Container.CreateIfNotExists();
        leaseId = blob.TryAcquireLease();
     if (HasLease)
     {
         renewalThread = new Thread(() =>
         {
             Thread.Sleep(TimeSpan.FromSeconds(40));
             blob.RenewLease(new AccessCondition()
                 {
                     LeaseId = leaseId
                 });
         });
         renewalThread.Start();
     }
 }