/// <summary> /// This method Adds objects to cache /// </summary> /// <returns>List of keys added to cache </returns> private static string[] AddDataIntoCache() { List <Product> products = LoadProductsFromDatabase(); CacheItem[] items = new CacheItem[products.Count]; string[] keys = new String[products.Count]; for (int i = 0; i < products.Count; i++) { keys[i] = products[i].Id.ToString(); CacheItem item = new CacheItem(products[i]); IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("ProductID", products[i].Id.ToString()); param.Add("ConnectionString", _connectionString); CustomDependency customDependency = new CustomDependency(ConfigurationManager.AppSettings["ProviderName"], param); item.Dependency = new CacheDependency(customDependency); items[i] = item; } IDictionary <string, CacheItem> cacheItems = GetCacheItemDictionary(keys, items); _cache.AddBulk(cacheItems); // Print output on console Console.WriteLine("Items are added to Cache."); return(keys); }
/// <summary> /// This method adds multiple objects in the cache using bulk api /// </summary> /// <param name="keys"> Dictionary of keys and Cache Items </param> private static void AddMultipleObjectsToCache(IDictionary <string, CacheItem> items) { // Adding Bulk Items // Bulk operation returns IDictionary <string, Exception> result = _cache.AddBulk(items); if (result.Count == 0) { // Print output on console Console.WriteLine("\nAll items are successfully added to cache."); } else { // Print output on console Console.WriteLine("\nOne or more items could not be added to the cache. Iterate hashmap for details."); // Iterate hashmap for (IEnumerator iter = result.Values.GetEnumerator(); iter.MoveNext();) { Product product = (Product)iter; PrintProductDetails(product); } } }
/// <summary> /// This method Adds objects to cache /// </summary> /// <returns>List of keys added to cache </returns> private static string[] AddDataIntoCache() { List <Product> products = LoadProductsFromDatabase(); CacheItem[] items = new CacheItem[products.Count]; string[] keys = new String[products.Count]; for (int i = 0; i < products.Count; i++) { keys[i] = products[i].Id.ToString(); CacheItem item = new CacheItem(products[i]); item.Dependency = new CacheDependency(new Dependency(products[i].Id, _connectionString)); items[i] = item; } IDictionary <string, CacheItem> cacheItems = GetCacheItemDictionary(keys, items); _cache.AddBulk(cacheItems); // Print output on console Console.WriteLine("Items are added to Cache."); return(keys); }