介绍
系统针对客户端程序定义了系统配置接口
using System;namespace XCI.Config{/// <summary>/// 系统配置接口/// </summary>public interface IConfigProvider{/// <summary>/// 加载配置/// </summary>void Load();/// <summary>/// 保存配置/// </summary>void Save();/// <summary>/// 获取指定名称的配置对象/// </summary>/// <typeparam name="T">配置类型</typeparam>/// <param name="key">配置名称</param>/// <param name="defaultValue">如果未找到指定名称的配置对象时,返回此默认值</param>/// <returns>返回指定名称的配置对象</returns>T Get<T>(string key, Func<T> defaultValue = null) where T : class;/// <summary>/// 设置指定名称的配置对象/// </summary>/// <typeparam name="T">配置类型</typeparam>/// <param name="key">配置名称</param>/// <param name="value">配置对象</param>void Set<T>(string key, T value) where T : class;/// <summary>/// 读取应用程序配置/// </summary>/// <param name="key">键名</param>/// <param name="defaultValue">如果找不到,返回的默认值</param>/// <returns>返回key对应的值,如果找不到key则返回指定的默认值</returns>string GetAppSettings(string key, string defaultValue = "");/// <summary>/// 设置应用程序配置/// </summary>/// <param name="key">键名</param>/// <param name="value">键值</param>void SetAppSettings(string key, string value);}}
系统默认配置文件实现是JsonConfigProvider,实现了上面的接口,默认文件路径是项目输出目录下的app.json,配置文件的格式为Json。
重新加载默认配置
ConfigFactory.Default.Load();
获取默认配置中指定名称的配置对象
//获取默认配置文件中名称为WinForm的节点对应的配置对象//如果WinForm节点为空,或者配置无效,则返回一个新建的默认配置var setting = ConfigFactory.Default.Get("WinForm", () => new WinFormSetting());
保存默认配置
所有的Set操作之后,都必须要调用下面的方法,配置才会保存到配置文件,否则重启系统后配置丢失。
ConfigFactory.Default.Save();
获取或者设置默认配置中的键值对
//配置文件中节点名称是:AppSettings//获取配置文件中键名为key的值,如果没有找到或者keyd值为空,则使用默认值0000ConfigFactory.Default.GetAppSettings("key","000");//设置配置文件中键名为key的值,设置完成后请调用Save方法ConfigFactory.Default.SetAppSettings("key","123");
独立配置文件读写
在项目的开发过程中,根据业务需要,编写独立的配置文件,系统已实现的配置文件对象为JsonConfigFile,此类为泛型类。
示例:需要把一部分静态数据保存到本地配置文件中,同时实现对配置文件读写。
1. 新建Model
/// <summary>/// 银行模型/// </summary>public class BankModel{/// <summary>/// 银行名称/// </summary>public string Name { get; set; }/// <summary>/// 银行简称/// </summary>public string ShortName { get; set; }/// <summary>/// 银行类型/// </summary>public string Category { get; set; }}
2. 创建读取类
//创建配置读写类,指定的配置文件路径为输出目录下的bank.jsonJsonConfigFile<List<BankModel>> bankConfigProvider =new JsonConfigFile<List<BankModel>>(IOHelper.GetOutFilePath("bank.json"));//Data属性是配置文件中的数据对象var data = bankConfigProvider.Data;//有修改数据直接操作Data属性,操作完成后调用Save方法,完成后数据会保存到指定的配置文件中bankConfigProvider.Save();
