public void Memory_Cache_Test()
        {
            var item = new MyCacheItem {
                Value = 42
            };

            _cache.Set(item.Value, item, TimeSpan.FromSeconds(2));
            var value = _cache.GetOrDefault(item.Value);

            Assert.AreEqual(value, item);

            Thread.Sleep(5000);

            value = _cache.GetOrDefault(item.Value);
            Assert.AreEqual(value, null);
        }
示例#2
0
    public override object Add(string key, object entry, DateTime utcExpiry)
    {
        lock (CacheDictionary)
        {
            if (!CacheDictionary.ContainsKey(key))
            {
                MyCacheItem CacheItem = new MyCacheItem
                {
                    ItemData  = entry,
                    UtcExpiry = utcExpiry,
                    UtcAdded  = DateTime.UtcNow
                };
                CacheDictionary.Add(key, CacheItem);
                return(CacheItem.ItemData);
            }

            var Item = CacheDictionary[key];
            return(Item.ItemData);
        }
    }