Exemple #1
0
        /// <summary>
        /// 加入缓存
        /// </summary>
        /// <param name="arguments">拦截方法的参数</param>
        /// <param name="returnValue">拦截方法的返回值</param>
        /// <param name="returnType">拦截方法的返回类型</param>
        public void StoreIntercept(object[] arguments, Type returnType, object returnValue)
        {
            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);

            CacheRepo.HashSet(cacheKey, filedKey, returnValue, returnType, Expires);
        }