Exemplo n.º 1
0
        public void Set <T>(CacheKey Key, T target, DateTime UTCExpirtTime) where T : class, IModel
        {
            Key           CacheKey = new WeakCaching.Key(Key.ToString(), typeof(T));
            CacheItem <T> item     = new CacheItem <T>(target, UTCExpirtTime);

            _caches[CacheKey] = item;
        }
Exemplo n.º 2
0
        public void Delete <T>(CacheKey Key) where T : class, IModel
        {
            Key    CacheKey = new WeakCaching.Key(Key.ToString(), typeof(T));
            Object item;

            _caches.TryRemove(CacheKey, out item);
        }
Exemplo n.º 3
0
        public async Task <T> GetAsync <T>(CacheKey key) where T : class, IModel
        {
            Key CacheKey = new WeakCaching.Key(key.ToString(), typeof(T));

            if (_caches.TryGetValue(CacheKey, out object obj))
            {
                if (obj is CacheItem <T> )
                {
                    CacheItem <T> citem = obj as CacheItem <T>;
                    if (citem.IsCurrent)
                    {
                        return(await Task.FromResult(citem.Target));
                    }
                }
            }
            return(default);
Exemplo n.º 4
0
        public async Task <bool> ContainsKeyAsync <T>(CacheKey key) where T : class, IModel
        {
            Key CacheKey = new WeakCaching.Key(key.ToString(), typeof(T));

            return(await Task.FromResult(_caches.ContainsKey(CacheKey)));
        }