Exemple #1
0
        /// <summary>
        /// 读取缓存
        /// </summary>
        /// <param name="arguments">拦截方法的参数</param>
        /// <param name="returnType">拦截方法的返回类型</param>
        /// <returns></returns>
        public object LoadIntercept(object[] arguments, Type returnType)
        {
            var filedKey  = _keyGenerator.GetRightKey(arguments, FieldIndex);
            var regionKey = _keyGenerator.GetKeyRegion(KeyNamespace, string.IsNullOrEmpty(KeyPerfix) ? returnType.Name : KeyPerfix);
            var itemKey   = KeyIndex != null && KeyIndex.Length > 0 ? _keyGenerator.GetRightKey(arguments, KeyIndex) : "";
            var cacheKey  = _keyGenerator.GetCacheKey(regionKey, itemKey);
            var cache     = CacheRepo.HashGet(cacheKey, filedKey, returnType);

            return(cache);
        }