コード例 #1
0
 public MemoryCacheDecorator(
     string name,
     IMemoryCache memoryCache,
     CacheConfigurations cacheConfigurations)
 {
     _name               = name;
     _memoryCache        = memoryCache;
     _cacheConfiguration = cacheConfigurations.GetConfiguration(name);
 }
コード例 #2
0
            public void WhenConfigurationDoesNotExistThenReturnsDefault()
            {
                var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration>
                {
                    ["exists"] = new CacheConfiguration(CacheExpirySettings.Default)
                });

                var actual = cacheConfigurations.GetConfiguration("not-exists");

                actual.Should().Be(CacheConfiguration.Default);
            }
コード例 #3
0
            public void WhenConfigurationExistsThenItIsReturned()
            {
                var expected = new CacheConfiguration(CacheExpirySettings.Default);

                var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration>
                {
                    ["exists"] = expected
                });

                var actual = cacheConfigurations.GetConfiguration("exists");

                actual.Should().Be(expected);
            }
コード例 #4
0
            public void WhenDefaultPresentThenDoesNotReturnStaticDefault()
            {
                var @default = new CacheConfiguration(CacheExpirySettings.Default);

                var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration>
                {
                    ["default"] = @default,
                });

                var actual = cacheConfigurations.GetConfiguration("not-exists");

                actual.Should().Be(@default);
                actual.Should().NotBe(CacheConfiguration.Default);
            }
コード例 #5
0
            public void WhenConfigurationDoesNotExistsAndOverridePresentThenReturnsOverrideNotDefault()
            {
                var @override = new CacheConfiguration(CacheExpirySettings.Default);

                var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration>
                {
                    ["override"] = @override,
                });

                var actual = cacheConfigurations.GetConfiguration("not-exists");

                actual.Should().Be(@override);
                actual.Should().NotBe(CacheConfiguration.Default);
            }
コード例 #6
0
            public void WhenConfigurationExistsButOverridePresentThenReturnsOverride()
            {
                var item      = new CacheConfiguration(CacheExpirySettings.Default);
                var @override = new CacheConfiguration(CacheExpirySettings.Default);

                var cacheConfigurations = new CacheConfigurations(new Dictionary <string, CacheConfiguration>
                {
                    ["item"]     = item,
                    ["override"] = @override,
                });

                var actual = cacheConfigurations.GetConfiguration("item");

                actual.Should().Be(@override);
            }
コード例 #7
0
        public DistributedCacheDecorator(
            string name,
            IDistributedCache distributedCache,
            IDataProtector dataProtector,
            CacheConfigurations cacheConfigurations)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("'name' cannot be null or empty", nameof(name));
            }

            _name               = name;
            _distributedCache   = distributedCache;
            _dataProtector      = dataProtector.CreateProtector(_name);
            _cacheConfiguration = cacheConfigurations.GetConfiguration(name);
        }