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); } }
private static T GetLocalCfgValueByFileJson <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, ""); try { var rTVal = ServiceStack.Text.JsonSerializer.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(); } return(defVal); }
/// <summary> /// 序列化为JSOn,并写入文件(如果文件已存在,则截断为零) /// </summary> /// <typeparam name="T"></typeparam> /// <param name="val"></param> /// <param name="fileName"></param> public static void SerializeJSONToStream <T>(T val, string fileName) { FileHelp.WriteToJson <T>(val, fileName); }