public class ConfigureAppConfig{ //静态构造,不能实例化 static ConfigureAppConfig() { } /**/////// 获取AppSettings配置节中的Key值 /// /// Key's name ///Key's value public static string GetAppSettingsKeyValue(string keyName) { return ConfigurationManager.AppSettings.Get(keyName); } /**/////// 获取ConnectionStrings配置节中的值 /// ///public static string GetConnectionStringsElementValue() { ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"]; return settings.ConnectionString; } /**//// /// 保存节点中ConnectionStrings的子节点配置项的值 /// /// public static void ConnectionStringsSave(string ConnectionStringsName, string elementValue) { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = elementValue; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("connectionStrings"); } /**/////// 判断appSettings中是否有此项 /// private static bool AppSettingsKeyExists(string strKey, Configuration config) { foreach (string str in config.AppSettings.Settings.AllKeys) { if (str == strKey) { return true; } } return false; } /**/////// 保存appSettings中某key的value值 /// /// key's name /// value public static void AppSettingsSave(string strKey, string newValue) { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (AppSettingsKeyExists(strKey, config)) { config.AppSettings.Settings[strKey].Value = newValue; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); } }}
如果你的程序是对其它程序的配置文件进行操作,代码如下:
ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();filemap.ExeConfigFilename = filePath;//配置文件路径config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None); if (AppSettingsKeyExists("Refresh", config)){ config.AppSettings.Settings["Refresh"].Value = M_TimeRead.ToString();} if (AppSettingsKeyExists("MachineNo", config)){ config.AppSettings.Settings["MachineNo"].Value = M_MachineNo; }config.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("appSettings"); config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = M_ConnectionString;config.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("connectionStrings");
数据库字符串加密
ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();filemap.ExeConfigFilename = Application.ExecutablePath + ".Config"; //filePath;config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);//指定我所要的节点ConfigurationSection section = config.ConnectionStrings; if ((section.SectionInformation.IsProtected == false) && (section.ElementInformation.IsLocked == false)){ //制定节点加密 section.SectionInformation.ProtectSection(protect); //即使没有修改也保存设置 section.SectionInformation.ForceSave = true; //配置文件内容保存到xml config.Save(ConfigurationSaveMode.Full);}
posted on 2013-03-26 21:48 阅读( ...) 评论( ...)