コード例 #1
0
        /// <summary>
        /// 获取缓存,根据模型区方法唯一值
        /// </summary>
        /// <typeparam name="T">需插入的对象</typeparam>
        /// <param name="methodName">该方法唯一的名字</param>
        /// <param name="modelName">模型的名字</param>
        /// <param name="func">若缓存没有,设定读取方式</param>
        /// <returns></returns>
        public T GetValue <T>(string methodName, string modelName, Func <T> func) where T : class
        {
            var value = CacheAssembly.GetAreaValue(AreaKey, ChildrenNodeKey + ":" + methodName) as Dictionary <string, T> ?? new Dictionary <string, T>();

            if (value.ContainsKey(modelName))
            {
                return(value[modelName]);
            }
            var data = func();

            value.Add(modelName, data);
            CacheAssembly.SetAreaValue(AreaKey, ChildrenNodeKey + ":" + methodName, value);
            return(data);
        }
コード例 #2
0
        /// <summary>
        /// 获取该方法下所有的值,以键值对隔开
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        public Dictionary <string, TModel> GetValue <TModel>(string key) where TModel : class
        {
            var value = CacheAssembly.GetAreaValue(AreaKey, ChildrenNodeKey + ":" + key) as Dictionary <string, TModel> ?? new Dictionary <string, TModel>();

            return(value);
        }
コード例 #3
0
 /// <summary>
 /// 设置缓存
 /// </summary>
 /// <param name="modelName">方法名字</param>
 /// <param name="obj">该方法所有的值</param>
 public void SetValue(string modelName, object obj)
 {
     CacheAssembly.SetAreaValue(AreaKey, ChildrenNodeKey + ":" + modelName, obj);
 }
コード例 #4
0
 /// <summary>
 /// 获取该方法下所有的值
 /// </summary>
 /// <param name="modelName"></param>
 /// <returns></returns>
 public object GetValue(string modelName)
 {
     return(CacheAssembly.GetAreaValue(AreaKey, ChildrenNodeKey + ":" + modelName));
 }