Table of Contents

Method RefreshExclusiveLockAsync

Namespace
Scaleout.Client
Assembly
Scaleout.Client.dll

RefreshExclusiveLockAsync(TKey, LockToken, CancellationToken)

Refreshes a lock that is already held by the caller on an existing object in the cache.

public Task<CacheResponse<TKey, TValue>> RefreshExclusiveLockAsync(TKey key, LockToken lockToken, CancellationToken cancellationToken = default)

Parameters

key TKey

Identifier of the object in the cache.

lockToken LockToken

A non-empty lock token that was acquired from an earlier locking call.

cancellationToken CancellationToken

A token used to propagate notification that this operation should be canceled.

Returns

Task<CacheResponse<TKey, TValue>>

A CacheResponse<TKey, TValue> containing the outcome of the operation and (if successful) a lock token.

Remarks

The Result property of the response will contain one of the following ServerResult outcomes:

ServerResultDescription
LockedThe lock on the object was successfully refreshed in the ScaleOut service.
NotFoundThe requested object was not found in the ScaleOut service.
LockLostError The exclusive lock on the object was lost (typically due to a lock timeout) and another caller claimed it.

Use the lock token on the response's LockToken property to perform subsequent operations under the lock.