public void TestRetreive() { CacheItemBase citem = (CacheItemBase)cache.Get(cacheItemUUID.ToString()); byte[] data = (byte[])citem.Retrieve(); Assert.That(data.Length == 1, "Cached Item should have one byte element"); Assert.That(data[0] == 255, "Cached Item element should be 255"); }
public void CacheItemMundane() { UUID Random1 = UUID.Random(); UUID Random2 = UUID.Random(); byte[] data = new byte[0]; CacheItemBase cb1 = new CacheItemBase(Random1.ToString(), DateTime.Now + TimeSpan.FromDays(1)); CacheItemBase cb2 = new CacheItemBase(Random2.ToString(), DateTime.Now + TimeSpan.FromDays(1)); CacheItemBase cb3 = new CacheItemBase(Random1.ToString(), DateTime.Now + TimeSpan.FromDays(1)); cb1.Store(data); Assert.That(cb1.Equals(cb3), "cb1 should equal cb3, their uuids are the same"); Assert.That(!cb2.Equals(cb1), "cb2 should not equal cb1, their uuids are NOT the same"); Assert.That(cb1.IsLocked() == false, "CacheItemBase default is false"); Assert.That(cb1.Retrieve() == null, "Virtual Retrieve method should return null"); }
/// <summary> /// 虚方法,删除Cache项 /// </summary> /// <param name="cacheItem">被删除的Cache项</param> internal protected abstract void RemoveItem(CacheItemBase cacheItem);
public static uint GetItemCrc32(this Cache cache, string key) { CacheItemBase data = cache[key] as CacheItemBase; return((data == null) ? 0 : data.Crc32); }
public static Guid GetItemGuid(this Cache cache, string key) { CacheItemBase data = cache[key] as CacheItemBase; return((data == null) ? Guid.NewGuid() : data.Guid); }