Example #1
0
        public void Add(string key, ParseList parseList)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentOutOfRangeException("key", "A valid key must be used.");
            }

            lock (cacheItems)
            {
                while ((cacheItems.Count) >= this.MaxCacheItems)
                {
                    ParseListCacheItem item    = null;
                    string             lastKey = null;
                    foreach (string key2 in cacheItems.Keys)
                    {
                        ParseListCacheItem item2 = cacheItems[key2] as ParseListCacheItem;

                        if ((item == null) || (item2 != null && item2.LastAccessed < item.LastAccessed))
                        {
                            item    = item2;
                            lastKey = key2;
                        }
                    }
                    if (lastKey != null)
                    {
                        cacheItems.Remove(lastKey);
                    }
                }
                ParseListCacheItem item3 = new ParseListCacheItem {
                    Item = parseList, LastAccessed = DateTime.Now.Ticks
                };
                cacheItems.Add(key.ToLower(), item3);
            }
        }
Example #2
0
        public void Add(string key, ParseList parseList)
        {
            if (string.IsNullOrEmpty(key))
                throw new ArgumentOutOfRangeException("key", "A valid key must be used.");

            lock (cacheItems)
            {
                while ((cacheItems.Count) >= this.MaxCacheItems)
                {
                    ParseListCacheItem item = null;
                    string lastKey = null;
                    foreach (string key2 in cacheItems.Keys)
                    {
                        ParseListCacheItem item2 = cacheItems[key2] as ParseListCacheItem;

                        if ((item == null) || (item2 != null && item2.LastAccessed < item.LastAccessed))
                        {
                            item = item2;
                            lastKey = key2;
                        }
                    }
                    if (lastKey != null)
                    {
                        cacheItems.Remove(lastKey);
                    }
                }
                ParseListCacheItem item3 = new ParseListCacheItem {Item = parseList, LastAccessed = DateTime.Now.Ticks};
                cacheItems.Add(key.ToLower(), item3);
            }
        }