Beispiel #1
0
        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);
        }
Beispiel #2
0
 public RedisLockFactory(IDatabaseAsync database, DistributedLockConfiguration distributedLockConfiguration)
 {
     _database = database;
     _distributedLockConfiguration = distributedLockConfiguration ?? throw new ArgumentNullException(nameof(distributedLockConfiguration));
 }