Esempio n. 1
0
        private static T GetLocalCfgValueByFileJSV <T>(this string cfgFilePath, T defVal = default(T), TimeSpan expiredTimeOut = default(TimeSpan))
        {
            var val = LocalCache <string, object> .LocalCacheServer.Get(cfgFilePath, null);

            if ((val != null))
            {
                return((T)val);
            }
            var rVal = FileHelp.ReadToEnd(cfgFilePath, string.Empty);

            try
            {
                var rTVal     = TypeSerializer.DeserializeFromString <T>(rVal);
                var cacheTime = expiredTimeOut == default(TimeSpan) ? TimeSpan.FromHours(24) : expiredTimeOut;
                LocalCache <string, object> .LocalCacheServer.Add(cfgFilePath, rTVal, cacheTime);

                return(rTVal);
            }
            catch (Exception ex)
            {
                ex.Handler(string.Format("序列化配置错误 {0},{1},缓存 {2},返回默认值:{3}", cfgFilePath, ex.ToString(), LocalCache <string, object> .LocalCacheServer == null, defVal.ToString()));
                return(defVal);
            }
        }