コード例 #1
0
        public async Task <DataResponse> GetExclusive()
        {
            var r = await Get();

            // process requested lock if data successfully retrieved
            if (r.Status == ResponseStatus.Ok)
            {
                r.LockCookie = (uint)Guid.NewGuid().GetHashCode();
                r.LockTime   = DateTime.Now;
                r.LockAge    = TimeSpan.Zero;
                await store.SetLockAsync(id, (uint)r.LockCookie, (DateTime)r.LockTime);
            }

            return(r);
        }
コード例 #2
0
        public async Task <DataResponse> GetExclusive(CancellationToken cancellationToken)
        {
            logger.Verbose("GetExclusive operation for {StateId}.", id);

            var r = await Get(cancellationToken);

            // process requested lock if data successfully retrieved
            if (r.Status == ResponseStatus.Ok)
            {
                r.LockCookie = (uint)Guid.NewGuid().GetHashCode();
                r.LockTime   = DateTime.UtcNow;
                r.LockAge    = TimeSpan.Zero;
                await store.SetLockAsync(id, (uint)r.LockCookie, (DateTime)r.LockTime, cancellationToken);
            }

            return(r);
        }