public CachingMongoDbClientStore(IMongoDbClientStore decorated, IMemoryCache cache, TimeSpan expiration, IBackgroundTaskStarter backgroundTaskStarter)
 {
     _decorated             = decorated ?? throw new ArgumentNullException(nameof(decorated));
     _cache                 = cache ?? throw new ArgumentNullException(nameof(cache));
     _expiration            = expiration;
     _backgroundTaskStarter = backgroundTaskStarter ?? throw new ArgumentNullException(nameof(backgroundTaskStarter));
 }
Exemple #2
0
        public ExpiredNoncesCleaner(SqlServerNonceStoreSettings settings, IBackgroundTaskStarter backgroundTaskStarter, ISystemClock systemClock)
        {
            _settings = settings ?? throw new ArgumentNullException(nameof(settings));
            _backgroundTaskStarter = backgroundTaskStarter ?? throw new ArgumentNullException(nameof(backgroundTaskStarter));
            _systemClock           = systemClock ?? throw new ArgumentNullException(nameof(systemClock));

            _deleteExpiredSql = new Lazy <string>(() => {
                var thisNamespace = typeof(SqlServerNonceStore).Namespace;
                using (var stream = typeof(SqlServerNonceStore).Assembly.GetManifestResourceStream($"{thisNamespace}.Scripts.DeleteExpiredNonces.sql")) {
                    // ReSharper disable once AssignNullToNotNullAttribute
                    using (var streamReader = new StreamReader(stream)) {
                        var template = streamReader.ReadToEnd();
                        return(template.Replace(TableNameToken, settings.NonceTableName));
                    }
                }
            });

            _lastCleanUp = DateTimeOffset.MinValue;
            _semaphore   = new SemaphoreSlim(1, 1);
        }
Exemple #3
0
 public CachingClientStoreDecorator(IMemoryCache cache, IBackgroundTaskStarter backgroundTaskStarter)
 {
     _cache = cache ?? throw new ArgumentNullException(nameof(cache));
     _backgroundTaskStarter = backgroundTaskStarter ?? throw new ArgumentNullException(nameof(backgroundTaskStarter));
 }