/// <summary> /// 在程序第一次运行时运行此方法获取配置 /// </summary> /// <returns></returns> public InitResult RunInAppStartInit() { var r = new InitResult() { Result = true }; if (_seedConfig.IsRemote) //判断是否读取远程配置模式 { ReadRemote(_seedConfig); //读取远程配置 } ReadLocal(_seedConfig, r); //读取本地配置 return(r); }
/// <summary> /// 在程序第一次运行时运行此方法获取配置 /// </summary> /// <returns></returns> public InitResult InitAppConfig() { var r = new InitResult() { Result = true }; if (_seedConfig.IsRemote)//判断是否读取远程配置模式 { Console.WriteLine("获取远程"); ReadRemote(_seedConfig);//读取远程配置 } Console.WriteLine("读取本地"); ReadLocal(_seedConfig, r);//读取本地配置 return(r); }
/// <summary> /// 本地配置模式下只有一个方案序列化文件 /// </summary> /// <param name="seedConfig"></param> private void ReadLocal(AppLocalConfig seedConfig, InitResult result) { if (string.IsNullOrEmpty(seedConfig.LocalConfigDirectoryPath))//如果没有默认路径不读取 { result.Result = false; result.Message = "本地配置文件路径为空"; return;//构造函数里默认数值 } try { var temp = Newtonsoft.Json.JsonConvert.DeserializeObject <AppConfig>(File.ReadAllText(seedConfig.LocalConfigDirectoryPath + "/" + seedConfig.AppConfigFileName)); if (temp != null)//使用构造函数里的数值,避免多位置同效代码赋值 { _appConfig = temp; } } catch (Exception ex)//预期异常:格式错误,错误内容 { throw new Exception("ReadLocal反序列化异常:" + ex.Message); } }