Example #1
0
        /// <summary>
        /// Adds a settings object to the cache
        /// </summary>
        /// <param name="settings"></param>
        /// <returns>Guid representing token (key in cache dictionary)</returns>
        public Guid Store(SettingsCacheObject cacheObject)
        {
            Guid token = Guid.NewGuid();
                Cache.Add(token, cacheObject);

            // asynchronously remove stale cached items
            RemoveStaleCachedItemsDelegate remover = (RemoveStaleCachedItems);
            remover.BeginInvoke(null, null);

            return token;
        }
Example #2
0
 public Guid Store(Guid token, SettingsCacheObject cacheObject)
 {
     Guid retval;
     var existingKeyValuePair = from kvp in Cache where kvp.Key.Equals(token) select kvp;
     if (0 == existingKeyValuePair.Count()) // new
     {
         retval = Store(cacheObject);
     } else // existing
     {
         retval = token;
         Cache[retval] = cacheObject;
         new RemoveStaleCachedItemsDelegate(RemoveStaleCachedItems).BeginInvoke(null, null);
     }
     return retval;
 }