在我们的项目中,无论是桌面软件还是web项目,经常会使用到ini文件,保存一些键值对的配置
创建类 Settings
创建类 Settings
public class Settings { public readonly static Settings Instance = new Settings(); private IniParser iniParser; private Settings() { //D:\\web\\BeiMaiProject\\beimai5.0\\Web\\BeiMai.WebApp\\BeiMai.WebApp\\bin string sPath = AppDomain.CurrentDomain.BaseDirectory; #if DEBUG if (sPath.EndsWith("\\bin")) sPath = sPath.Replace("\\bin", ""); #endif iniParser = new IniParser(string.Concat(sPath, @"\conf\conf.ini")); //app MySqlConn = iniParser.GetSetting("App", "MySqlConn"); Emails = iniParser.GetSetting("App", "Emails"); AllowIps = iniParser.GetSetting("App", "AllowIps"); UpdateIpUrls = iniParser.GetSetting("App", "UpdateIpUrls"); DefaultAllowIps = iniParser.GetSetting("App", "DefaultAllowIps"); PcNumber = iniParser.GetSetting("App", "PcNumber"); LastIpUpdate = iniParser.GetSetting("App", "LastIpUpdate"); PopVersion = DateTime.Parse(iniParser.GetSetting("App", "PopVersion")); //httpserver Port = Utils.StrToInt(iniParser.GetSetting("HttpServer", "Port"),0) ; Domain = iniParser.GetSetting("HttpServer", "Domain"); Paths = iniParser.GetSetting("HttpServer", "Paths"); } public void Save() { //app iniParser.AddSetting("App", "MySqlConn", MySqlConn); iniParser.AddSetting("App", "Emails", Emails); iniParser.AddSetting("App", "AllowIps", AllowIps); iniParser.AddSetting("App", "UpdateIpUrls", UpdateIpUrls); iniParser.AddSetting("App", "DefaultAllowIps", DefaultAllowIps); iniParser.AddSetting("App", "PcNumber", PcNumber); iniParser.AddSetting("App", "LastIpUpdate", LastIpUpdate); iniParser.AddSetting("App", "PopVersion", PopVersion.ToString()); //httpserver iniParser.AddSetting("HttpServer", "Port", Port.ToString()); iniParser.AddSetting("HttpServer", "Domain", Domain); iniParser.AddSetting("HttpServer", "Paths", Paths); iniParser.SaveSettings(); } //app public string MySqlConn { get; set; } public string Emails { get; set; } public string AllowIps { get; set; } public string UpdateIpUrls { get; set; } public string DefaultAllowIps { get; set; } //httpserver public int Port { get; set; } public string Domain { get; set; } public string Paths { get; set; } public string PcNumber { get; set; } public string LastIpUpdate { get; set; } public DateTime PopVersion { get; set; } }