Ejemplo n.º 1
0
        /// <summary>
        ///     Get from cache.
        /// </summary>
        /// <param name="cacheKey">The cache key.</param>
        /// <param name="region"></param>
        /// <returns>
        ///     An object instance with the Cache Value corresponding to the entry if found, else null
        /// </returns>
        public override async Task <object> Get(object cacheKey, string region)
        {
            if (!_isEnabled)
            {
                return(null);
            }

            object item;

            lock (Sync)
            {
                item = _cache.Get(MemoryUtilities.CombinedKey(cacheKey, region));
            }

            if (item == null)
            {
                return(null);
            }

            // todo remove after dec when obsolete methods are removed
            var itemType = item.GetType();

            if (itemType == typeof(BaseModel))
            {
                var obj = (BaseModel)item;
                return(await MemoryStreamHelper.DeserializeObject(obj.CacheObject));
            }

            if (itemType == typeof(CacheObject))
            {
                var obj1 = (CacheObject)item;
                return(await MemoryStreamHelper.DeserializeObject(obj1.Item));
            }
            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Get from cache.
        /// </summary>
        /// <param name="cacheKey">The cache key.</param>
        /// <param name="region"></param>
        /// <returns>
        ///     An object instance with the Cache Value corresponding to the entry if found, else null
        /// </returns>
        public override async Task <object> Get(object cacheKey, string region)
        {
            if (!_isEnabled)
            {
                return(null);
            }

            object item = await GetItem(cacheKey, region);

            if (item == null)
            {
                return(null);
            }

            // todo remove after dec when obsolete methods are removed
            var itemType = item.GetType();

            if (itemType == typeof(CacheItem))
            {
                var obj = (CacheItem)item;
                return(await MemoryStreamHelper.DeserializeObject(obj.CacheObject));
            }

            if (itemType == typeof(MongoCachModel))
            {
                var obj1 = (MongoCachModel)item;
                return(await MemoryStreamHelper.DeserializeObject(obj1.CacheObject.Item));
            }
            return(null);
        }