private static void RegisterDistributedLockingServices(IServiceCollection services, IConfiguration configuration) { var dcConfiguration = new DistributedLockConfiguration( configuration.GetValue <TimeSpan>("DistributedLock:LockExpiry"), configuration.GetValue <int>("DistributedLock:MaxRetries") ); services.AddScoped <ILockFactory, RedisLockFactory>(); services.AddScoped(_ => dcConfiguration); }
public RedisLockFactory(IDatabaseAsync database, DistributedLockConfiguration distributedLockConfiguration) { _database = database; _distributedLockConfiguration = distributedLockConfiguration ?? throw new ArgumentNullException(nameof(distributedLockConfiguration)); }