Class LockManagerService
- Namespace
- adas_core.Application.Services.Caching
- Assembly
- adas-core.Application.dll
Servicio que ejecuta acciones dentro de una sección crítica controlada por lock. CacheService lo usará para evitar condiciones de carrera en GetOrSet. Funciona igual para locks locales o distribuidos.
public class LockManagerService
- Inheritance
-
LockManagerService
- Inherited Members
- Extension Methods
Constructors
LockManagerService(ILogger<LockManagerService>, ILockProvider)
Servicio que ejecuta acciones dentro de una sección crítica controlada por lock. CacheService lo usará para evitar condiciones de carrera en GetOrSet. Funciona igual para locks locales o distribuidos.
public LockManagerService(ILogger<LockManagerService> logger, ILockProvider provider)
Parameters
loggerILogger<LockManagerService>providerILockProvider
Methods
WithLockAsync(string, TimeSpan, Func<Task>, CancellationToken)
Version Task (sin valor).
public Task WithLockAsync(string key, TimeSpan timeout, Func<Task> action, CancellationToken cancellationToken = default)
Parameters
keystringtimeoutTimeSpanactionFunc<Task>cancellationTokenCancellationToken
Returns
WithLockAsync<T>(string, TimeSpan, Func<Task<T>>, CancellationToken)
Ejecuta una función que devuelve un valor bajo un lock por clave.
public Task<T> WithLockAsync<T>(string key, TimeSpan timeout, Func<Task<T>> action, CancellationToken cancellationToken = default)
Parameters
keystringtimeoutTimeSpanactionFunc<Task<T>>cancellationTokenCancellationToken
Returns
- Task<T>
Type Parameters
T