Ejemplo n.º 1
0
        static void CategoriesMemoryCache()
        {
            Console.WriteLine("CategoriesMemoryCache");
            var entitiesManager = new EntitiesManager <Category>(new MemoryCache <IEnumerable <Category> >(categoriesPrefix));

            for (var i = 0; i < 10; i++)
            {
                Console.WriteLine(entitiesManager.GetEntities().Count());
                Thread.Sleep(100);
            }
        }
Ejemplo n.º 2
0
        static void CustomersRedisCache()
        {
            Console.WriteLine("CustomersRedisCache");
            var entitiesManager = new EntitiesManager <Customer>(new RedisCache <IEnumerable <Customer> >("localhost", customersPrefix));

            for (var i = 0; i < 10; i++)
            {
                Console.WriteLine(entitiesManager.GetEntities().Count());
                Thread.Sleep(100);
            }
        }
Ejemplo n.º 3
0
        static void SuppliersMemoryCache()
        {
            Console.WriteLine("SuppliersMemoryCache");
            var entitiesManager = new EntitiesManager <Supplier>(new MemoryCache <IEnumerable <Supplier> >(suppliersPrefix));

            for (var i = 0; i < 10; i++)
            {
                Console.WriteLine(entitiesManager.GetEntities().Count());
                Thread.Sleep(100);
            }
        }
Ejemplo n.º 4
0
        public void CustomersUsingRedisCache()
        {
            //Arrange
            var entityManager = new EntitiesManager <Customer>(new RedisCache <IEnumerable <Customer> >("localhost", cachePolicyService));

            FieldInfo  cacheField      = entityManager.GetType().GetField("cache", BindingFlags.NonPublic | BindingFlags.Instance);
            object     cacheFieldValue = cacheField.GetValue(entityManager);
            MethodInfo method          = cacheFieldValue.GetType().GetMethod("Get", new Type[] { typeof(string) });

            //Act
            var entities = entityManager.GetEntities();
            IEnumerable <Customer> cacheValue = (IEnumerable <Customer>)method.Invoke(cacheFieldValue,
                                                                                      new object[] { Thread.CurrentPrincipal.Identity.Name + " " + typeof(Customer) });

            //Assert
            Assert.IsTrue(entities != null);
            Assert.IsTrue(cacheValue != null);
            Assert.IsTrue(cacheValue.Any());
        }
Ejemplo n.º 5
0
        public void ExcpirationTimeTestInvalidation()
        {
            //Arrange
            var entityManager = new EntitiesManager <Category>(new MemoryCache <IEnumerable <Category> >(cachePolicyService));

            FieldInfo  cacheField      = entityManager.GetType().GetField("cache", BindingFlags.NonPublic | BindingFlags.Instance);
            object     cacheFieldValue = cacheField.GetValue(entityManager);
            MethodInfo method          = cacheFieldValue.GetType().GetMethod("Get", new Type[] { typeof(string) });
            double     interval        = Convert.ToDouble(ConfigurationManager.AppSettings["TimeIntervalMilliseconds"]) + 1;

            //Act
            var entities = entityManager.GetEntities();

            System.Threading.Thread.Sleep(Convert.ToInt32(interval));

            IEnumerable <Category> cacheValue = (IEnumerable <Category>)method.Invoke(cacheFieldValue,
                                                                                      new object[] { Thread.CurrentPrincipal.Identity.Name + " " + typeof(Category) });

            //Assert
            Assert.IsTrue(entities != null);
            Assert.IsTrue(cacheValue == null);
        }