public DistributedCancellationProcessor(ILockFactory lockFactory, ILogger logger, ISubscriber redisSubscriber, DistributedCancellationConfiguration distributedCancellationConfiguration, IDatabaseAsync databaseAsync) { _lockFactory = lockFactory; _logger = logger; _redisSubscriber = redisSubscriber; _distributedCancellationConfiguration = distributedCancellationConfiguration; _databaseAsync = databaseAsync; }
private static void RegisterDistributedCancellationServices(IServiceCollection services, IConfiguration configuration) { var dcConfiguration = new DistributedCancellationConfiguration( configuration.GetValue <int>("DistributedCancellation:MaxRetries"), configuration.GetValue <TimeSpan>("DistributedCancellation:MaxRetryDelay") ); services.AddScoped <IDistributedCancellationProcessor, DistributedCancellationProcessor>(); services.AddScoped(_ => dcConfiguration); }