示例#1
0
        public void ReferenceTypeValueChangeToNull()
        {
            var            key   = "key-object-null";
            ICacheProvider cache = CacheProviderFactory.GetHttpContextCache();
            var            id1   = new Object();
            var            id2   = cache.GetOrCreate(key, () => id1);

            Assert.AreEqual(id1, id2);

            id1 = null;
            Object id3;
            var    exist = cache.TryGet(key, out id3);

            Assert.IsTrue(exist);
            Assert.AreEqual(id2, id3);
        }
示例#2
0
        public void ReferenceType()
        {
            var            key   = "key-object";
            ICacheProvider cache = CacheProviderFactory.GetHttpContextCache();
            var            id1   = new Object();
            var            id2   = cache.GetOrCreate(key, () => id1);

            Assert.AreEqual(id1, id2);

            cache.Expire(key);
            Object id3;
            var    exist = cache.TryGet(key, out id3);

            Assert.IsFalse(exist);
            Assert.AreNotEqual(id1, id3);
            Assert.AreEqual(id3, null);
        }
示例#3
0
        public void ValueType()
        {
            var            key   = "key-guid";
            ICacheProvider cache = CacheProviderFactory.GetHttpContextCache();
            var            id1   = Guid.NewGuid();
            var            id2   = cache.GetOrCreate(key, () => id1);

            Assert.AreEqual(id1, id2);

            cache.Expire(key);
            Guid id3;
            var  exist = cache.TryGet(key, out id3);

            Assert.IsFalse(exist);
            Assert.AreNotEqual(id1, id3);
            Assert.AreEqual(id3, Guid.Empty);
        }