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); } }
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); } }
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); } }
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()); }
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); }