Пример #1
0
        /// <summary>
        /// LocationApiController/GET || Locations.List
        /// </summary>
        /// <returns></returns>
        public async Task <List <Location> > ListLocations()
        {
            var             oCacheAdapter = new CacheAdapter <Location>();
            List <Location> lstLocations  = oCacheAdapter.GetCollection() as List <Location>;

            if (lstLocations != null)
            {
                return(lstLocations);
            }

            var oStandingDataRepository = new StandingDataRepository();

            IDataReader oDataReader = null;

            try
            {
                oDataReader = await oStandingDataRepository.ListLocations();
            }
            catch (Exception)
            {
                throw;
            }

            lstLocations = new List <Location>();
            while (oDataReader.Read())
            {
                lstLocations.Add(new Location(oDataReader));
            }

            oDataReader.Close();

            oCacheAdapter.PutCollection(lstLocations);

            return(lstLocations);
        }
Пример #2
0
 public CacheInterceptor(CacheAdapter cache, ConfigurationForType configurationForType, object target)
 {
     _cache = cache;
     _configurationForType = configurationForType;
     _target           = target;
     _cachingComponent = new CachingComponent(cache, configurationForType.CacheKey, configurationForType);
 }
Пример #3
0
        public void Get_KeyIsNull_ArgumentNullExceptionIsThrown()
        {
            var cacheMock = new Mock <ICache <object> >();
            var sut       = new CacheAdapter(cacheMock.Object);

            Assert.Throws <ArgumentNullException>(() => sut.Get(null));
        }
Пример #4
0
        public void Put_ValueIsNull_Constructor_CacheIsNull_ArgumentNullExceptionIsThrown()
        {
            var cacheMock = new Mock <ICache <object> >();
            var sut       = new CacheAdapter(cacheMock.Object);

            Assert.Throws <ArgumentNullException>(() => sut.Put("key", null));
        }
Пример #5
0
        public void Get_KeyIsNull_ArgumentNullExceptionIsThrown()
        {
            var cacheMock  = new Mock <ICache <string> >();
            var cacheMock2 = new Mock <ICache <StoredHttpResponseMessage> >();
            var sut        = new CacheAdapter(cacheMock.Object, cacheMock2.Object);

            Assert.Throws <ArgumentNullException>(() => sut.GetResponse(null));
        }
Пример #6
0
        public async Task ItCallsRemove()
        {
            // Arrange
            // Act
            await CacheManager.Remove(_key);

            // Assert
            CacheAdapter.Verify(x => x.RemoveAsync(_key), Times.Once);
        }
Пример #7
0
        public void Dispose_CacheDisposeIsCalled()
        {
            var cacheMock = new Mock <ICache <object> >();
            var sut       = new CacheAdapter(cacheMock.Object);

            sut.Dispose();

            cacheMock.Verify(x => x.Dispose(), Times.Once);
        }
Пример #8
0
        public void Put_ValueIsNull_Constructor_CacheIsNull_ArgumentNullExceptionIsThrown()
        {
            var cacheMock  = new Mock <ICache <string> >();
            var cacheMock2 = new Mock <ICache <StoredHttpResponseMessage> >();

            var sut = new CacheAdapter(cacheMock.Object, cacheMock2.Object);

            Assert.Throws <ArgumentNullException>(() => sut.Put("key", (string)null));
        }
Пример #9
0
 public CacheInterceptor(CacheAdapter cache,
                         ICacheKey cacheKey,
                         ILockObjectGenerator lockObjectGenerator,
                         ConfigurationForType configurationForType)
 {
     _cache                = cache;
     _cacheKey             = cacheKey;
     _lockObjectGenerator  = lockObjectGenerator;
     _configurationForType = configurationForType;
 }
Пример #10
0
        public void Dispose_CacheDisposeIsCalled()
        {
            var cacheMock  = new Mock <ICache <string> >();
            var cacheMock2 = new Mock <ICache <StoredHttpResponseMessage> >();

            var sut = new CacheAdapter(cacheMock.Object, cacheMock2.Object);

            sut.Dispose();

            cacheMock.Verify(x => x.Dispose(), Times.Once);
        }
Пример #11
0
        public void Put_ParametersAreValid_CachePutIsCalled()
        {
            var keyToCheck   = "key";
            var valueToCheck = "value";
            var cacheMock    = new Mock <ICache <object> >();
            var sut          = new CacheAdapter(cacheMock.Object);

            sut.Put(keyToCheck, valueToCheck);

            cacheMock.Verify(cache => cache.Put(It.Is <string>(key => key == keyToCheck), It.Is <object>(value => (string)value == valueToCheck)), Times.Once);
        }
Пример #12
0
        public void Get_KeyIsValid_CacheGetIsCalled()
        {
            var cacheMock = new Mock <ICache <object> >();

            cacheMock.Setup(x => x.Get("key")).Returns("value");
            var sut = new CacheAdapter(cacheMock.Object);

            var result = sut.Get("key") as string;

            Assert.Equal("value", result);
            cacheMock.Verify(x => x.Get("key"), Times.Once);
        }
Пример #13
0
 public CacheInterceptor(CacheAdapter cache,
                         ICacheKey cacheKey,
                         ILockObjectGenerator lockObjectGenerator,
                         ConfigurationForType configurationForType,
                         object target)
 {
     _cache                = cache;
     _cacheKey             = cacheKey;
     _lockObjectGenerator  = lockObjectGenerator;
     _configurationForType = configurationForType;
     _target               = target;
     _cachingComponent     = new CachingComponent(cache, cacheKey, configurationForType);
 }
Пример #14
0
        static void Main(string[] args)
        {
            ICacheAdapter       cacheAdapter       = new CacheAdapter();
            ICustomerRepository customerRepository = new CustomerRepository();

            var customerService = new CustomerService(customerRepository, cacheAdapter);

            customerService.GetAllCustomers();

            var cachedCustomers = (List <Customer>)cacheAdapter.Get(customerService.StorageKey);

            cachedCustomers.ForEach(x => Console.WriteLine(x.FullName));
        }
Пример #15
0
        public async Task Given_WhenCacheMiss_ExecutesFunction()
        {
            // Arrange
            CacheAdapter.Setup(x => x.GetStringAsync(It.IsAny <string>()))
            .ReturnsAsync(string.Empty);

            // Act
            var result = await CacheManager.GetOrCreate(_key, async() => await DefaultMethod());

            // Assert
            Assert.True(_methodCalled);
            Assert.IsAssignableFrom <CommunityFeatured>(result);
        }
Пример #16
0
        public async Task Given_WhenCacheHit_CacheValueReturned()
        {
            // Arrange
            CacheAdapter.Setup(x => x.GetStringAsync(It.IsAny <string>()))
            .ReturnsAsync(JsonSerializer.Serialize(_results));

            // Act
            var result = await CacheManager.GetOrCreate(_key, async() => await DefaultMethod());

            // Assert
            Assert.False(_methodCalled);
            Assert.IsAssignableFrom <CommunityFeatured>(result);
        }
Пример #17
0
 public CacheProvider([NotNull] IProvider dataProvider, [NotNull] IMemoryCache memoryCache)
 {
     if (dataProvider == null)
     {
         throw new ArgumentNullException(nameof(dataProvider));
     }
     if (memoryCache == null)
     {
         throw new ArgumentNullException(nameof(memoryCache));
     }
     this.dataProvider = dataProvider;
     this.cache        = new MemoryCacheAdapter(memoryCache);
 }
Пример #18
0
 public CacheProvider([NotNull] IProvider dataProvider, [NotNull] IDistributedCache distributedCache)
 {
     if (dataProvider == null)
     {
         throw new ArgumentNullException(nameof(dataProvider));
     }
     if (distributedCache == null)
     {
         throw new ArgumentNullException(nameof(distributedCache));
     }
     this.dataProvider = dataProvider;
     this.cache        = new DistributedCacheAdapter(distributedCache);
 }
Пример #19
0
        public void Get_KeyIsValid_CacheGetIsCalled()
        {
            var cacheMock  = new Mock <ICache <string> >();
            var cacheMock2 = new Mock <ICache <StoredHttpResponseMessage> >();

            cacheMock.Setup(x => x.Get("key")).Returns("value");
            var sut = new CacheAdapter(cacheMock.Object, cacheMock2.Object);

            var result = sut.GetString("key");

            Assert.Equal("value", result);
            cacheMock.Verify(x => x.Get("key"), Times.Once);
        }
Пример #20
0
        public void Put_ParametersAreValidResponse_CachePutIsCalled()
        {
            var keyToCheck = "key";

            var cacheMock  = new Mock <ICache <string> >();
            var cacheMock2 = new Mock <ICache <StoredHttpResponseMessage> >();

            var sut = new CacheAdapter(cacheMock.Object, cacheMock2.Object);

            sut.Put(keyToCheck, new StoredHttpResponseMessage());

            cacheMock2.Verify(cache => cache.Put(It.Is <string>(key => key == keyToCheck), It.IsAny <StoredHttpResponseMessage>()), Times.Once);
        }
Пример #21
0
        public async Task Given_WhenCacheMiss_SetsCache()
        {
            // Arrange
            CacheAdapter.Setup(x => x.GetStringAsync(It.IsAny <string>()))
            .ReturnsAsync(string.Empty);

            // Act
            await CacheManager.GetOrCreate(_key, async() => await DefaultMethod());

            // Assert
            var value = JsonSerializer.Serialize(_results !);

            CacheAdapter.Verify(x => x.SetStringAsync(_key, value, It.IsAny <DistributedCacheEntryOptions>()));
        }
Пример #22
0
        static void LoadSettings()
        {
            settingsLock.AcquireWriterLock(Timeout.Infinite);

            try
            {
                if (cache != null)
                {
                    cache.Dispose();
                }

                _settings = ConfigurationProvider.Settings;

                //  bool validLicense = Alachisoft.NCache.ContentOptimization.Licensing.LicesnseManager.IsLicenseValid;

                /*  if (!validLicense)
                 * {
                 *    FileBasedTraceProvider.Current.WriteTrace(TraceSeverity.CriticalEvent, "License not verified");
                 *    _settings.EnableViewstateCaching = false;
                 * }
                 */

                if (_settings.Enabled)
                {
                    if (_settings.CacheSettings == null)
                    {
                        throw new Exception("Cache settings not set");
                    }

                    var cacheAdapter = new CacheAdapter(_settings.CacheSettings.CacheName);

                    cacheAdapter.RetryInterval = _settings.CacheSettings.ConnectionRetryInterval.HasValue ? _settings.CacheSettings.ConnectionRetryInterval.Value : 300;
                    cacheAdapter.Load();

                    if (_settings.CacheSettings.Expiration == null)
                    {
                        throw new Exception("Expiration settings not set");
                    }

                    cacheAdapter.DefaultExpiration = _settings.CacheSettings.Expiration.Convert();

                    cache = cacheAdapter.GetSynchronized(settingsLock);
                }
            }
            finally
            {
                settingsLock.ReleaseWriterLock();
            }
        }
Пример #23
0
        /// <summary>
        /// Builds the <see cref="IMbCacheFactory"/>.
        /// </summary>
        public IMbCacheFactory BuildFactory()
        {
            checkAllImplementationAndMethodsAreOk();
            if (_cache == null)
            {
                _cache = new InMemoryCache(20);
            }
            if (_cacheKey == null)
            {
                _cacheKey = new ToStringCacheKey();
            }
            var events       = new EventListenersCallback(_eventListeners);
            var cacheAdapter = new CacheAdapter(_cache);

            _cache.Initialize(events, _cacheKey);
            return(new MbCacheFactory(_proxyFactory, cacheAdapter, _cacheKey, _lockObjectGenerator, _configuredTypes));
        }
Пример #24
0
        static void LoadSettings()
        {
            settingsLock.AcquireWriterLock(Timeout.Infinite);

            try
            {
                if (cache != null)
                {
                    cache.Dispose();
                }

                _settings = ConfigurationProvider.Settings;

                if (_settings.Enabled)
                {
                    if (_settings.CacheSettings == null)
                    {
                        throw new Exception("Cache settings not set");
                    }

                    var cacheAdapter = new CacheAdapter(_settings.CacheSettings.CacheName);

                    cacheAdapter.RetryInterval = _settings.CacheSettings.ConnectionRetryInterval.HasValue ? _settings.CacheSettings.ConnectionRetryInterval.Value : 300;
                    cacheAdapter.Load();

                    if (_settings.CacheSettings.Expiration == null)
                    {
                        throw new Exception("Expiration settings not set");
                    }

                    cacheAdapter.DefaultExpiration = _settings.CacheSettings.Expiration.Convert();

                    cache = cacheAdapter.GetSynchronized(settingsLock);
                }
            }
            finally
            {
                settingsLock.ReleaseWriterLock();
            }
        }
Пример #25
0
 public void Initialize(CacheAdapter cache, ICacheKey cacheKey, ILockObjectGenerator lockObjectGenerator)
 {
 }
Пример #26
0
 public CacheInterceptor(CacheAdapter cache,
                         ConfigurationForType configurationForType)
 {
     _cache = cache;
     _configurationForType = configurationForType;
 }
Пример #27
0
 public void Initialize(CacheAdapter cache, ICacheKey cacheKey, ILockObjectGenerator lockObjectGenerator)
 {
     _cache               = cache;
     _cacheKey            = cacheKey;
     _lockObjectGenerator = lockObjectGenerator;
 }
Пример #28
0
 public void Initialize(CacheAdapter cache)
 {
     _cache = cache;
 }