/// <summary> /// 在程序第一次运行时运行此方法获取配置 /// </summary> /// <returns></returns> public InitResult RunInAppStartInit() { var r = new InitResult() { Result = true }; AppConfiguration appConfig = null; try { appConfig = ReadAppConfig();//防止基础配置不存在或者错误导致程序无法启动 } catch (Exception ex) { appConfig = new AppConfiguration() { IsFileLoad = true, Version = 0, SolutionId = Guid.Empty, IsRemote = false }; //错误配置下给予最小化配置 r.Result = false; r.Message = ex.Message; } if (appConfig.IsRemote) //判断是否读取远程配置模式 { ReadRemote(appConfig); //读取远程配置 } ReadLocal(appConfig, r); //读取本地配置 return(r); }
/// <summary> /// 在程序第一次运行时运行此方法获取配置 /// </summary> /// <returns></returns> public InitResult RunInAppStartInit() { var r = new InitResult() { Result = true }; AppConfiguration appConfig = null; try { appConfig = ReadAppConfig();//防止基础配置不存在或者错误导致程序无法启动 } catch (Exception ex) { appConfig = new AppConfiguration() { IsFileLoad = true, Version = 0, SolutionId = Guid.Empty, IsRemote = false};//错误配置下给予最小化配置 r.Result = false; r.Message = ex.Message; } if (appConfig.IsRemote)//判断是否读取远程配置模式 { ReadRemote(appConfig);//读取远程配置 } ReadLocal(appConfig,r);//读取本地配置 return r; }
/// <summary> /// 本地配置模式下只有一个方案序列化文件 /// </summary> /// <param name="appConfig"></param> private void ReadLocal(AppConfiguration appConfig, InitResult result) { if (string.IsNullOrEmpty(appConfig.LocalConfigFilePath))//如果没有默认路径不读取 { result.Result = false; result.Message = "本地配置文件路径为空"; return;//构造函数里默认数值 } try { var temp = XmlConfigSerializer.Instance.DeserializeSingle <SolutionConfiguration>(appConfig.LocalConfigFilePath); if (temp != null)//使用构造函数里的数值,避免多位置同效代码赋值 { _solutionConfig = temp; } } catch (Exception ex)//预期异常:格式错误,错误内容 { result.Result = false; result.Message = ex.Message; return; } }
/// <summary> /// 本地配置模式下只有一个方案序列化文件 /// </summary> /// <param name="appConfig"></param> private void ReadLocal(AppConfiguration appConfig,InitResult result) { if (string.IsNullOrEmpty(appConfig.LocalConfigFilePath))//如果没有默认路径不读取 { result.Result = false; result.Message ="本地配置文件路径为空"; return;//构造函数里默认数值 } try { var temp=XmlConfigSerializer.Instance.DeserializeSingle<SolutionConfiguration>(appConfig.LocalConfigFilePath); if (temp != null)//使用构造函数里的数值,避免多位置同效代码赋值 { _solutionConfig = temp; } } catch (Exception ex)//预期异常:格式错误,错误内容 { result.Result = false; result.Message = ex.Message; return; } }