Пример #1
0
        protected async Task <bool> AttemptLockOnInstanceAsync(IConnection connection,
                                                               PreliminaryLock <TIdentity> preliminaryLock, TimeSpan ttl)
        {
            try
            {
                return(await connection.SetStringWhenNotSetAsync(preliminaryLock.Resource, preliminaryLock.Identity.ToString(), ttl));
            }
            catch (Exception ex)
            {
                //TODO: Log ex

                return(false);
            }
        }
Пример #2
0
 protected async Task UnlockOnInstanceAsync(IConnection connection, PreliminaryLock <TIdentity> preliminaryLock)
 {
     await connection.DeleteIfMatchedAsync(preliminaryLock.Resource, preliminaryLock.Identity.ToString());
 }
 public virtual IDistributedLock <TIdentity> EstablishLock(IDistributedLockManager <TIdentity> dlm, PreliminaryLock <TIdentity> preliminaryLock, DateTime expiration)
 {
     return(DistributedLock <TIdentity> .EstablishLock(dlm, preliminaryLock.Resource, preliminaryLock.Identity, expiration));
 }