public object Get(string key) { DeleteOld(); GenericCacheItem item = (GenericCacheItem)hashtable[key]; return((item == null) ? null : item.Obj); }
private void DeleteOld() { ArrayList keys = new ArrayList(); foreach (string key in hashtable.Keys) { keys.Add(key); } for (int i = 0; i < keys.Count; i++) { GenericCacheItem item = (GenericCacheItem)hashtable[(string)keys[i]]; if (DateTime.Now.Subtract(item.Datetime) > this.maxAge) { hashtable.Remove((string)keys[i]); } } }
public void Add(string key, object obj) { hashtable[key] = new GenericCacheItem(obj, DateTime.Now); }