Table of Contents

Method TryReadExclusiveAsync

Namespace
Scaleout.Client
Assembly
Scaleout.Client.dll

TryReadExclusiveAsync(TKey, ReadOptions, CancellationToken)

Attempts to read and acquire an exclusive lock on an existing object in the cache. This method does not block if the object is locked by another caller--it returns immediately with Result set to AlreadyLockedError.

public Task<CacheResponse<TKey, TValue>> TryReadExclusiveAsync(TKey key, ReadOptions options = default, CancellationToken cancellationToken = default)

Parameters

key TKey

Identifier of the object in the cache.

options ReadOptions

Options that can be used when retrieving an object from the ScaleOut service.

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, the lock token, and the retrieved object (if successful).

Remarks

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

ServerResultDescription
RetrievedThe object was successfully retrieved and locked in the ScaleOut service.
NotFoundThe requested object was not found in the ScaleOut service.
AlreadyLockedErrorThe requested object could not be read because it was already locked in the ScaleOut service by another caller.

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