博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 程序配置文件的操作(ConfigurationManager的使用)
阅读量:4881 次
发布时间:2019-06-11

本文共 3521 字,大约阅读时间需要 11 分钟。

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 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/Shadow3627/archive/2013/03/26/2983474.html

你可能感兴趣的文章
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>
导入lxml找不到etree,报ImportError:DLL load failed:找不到指定的程序
查看>>
面向对象一
查看>>
大象的崛起!Hadoop七年发展风雨录
查看>>
图片二值化
查看>>
数据库常用函数
查看>>
集合之TreeSet(含JDK1.8源码分析)
查看>>
C语言学习的记忆
查看>>
Lucene学习总结之三:Lucene的索引文件格式(1) 2014-06-25 14:15 1124人阅读 ...
查看>>
node-sass 报错的解决方法
查看>>
Python:GeoJson格式的多边形裁剪Tiff影像并计算栅格数值
查看>>
免费下载知网文献的方法 | sci-hub免费下载SCI论文方法
查看>>
测试用例,变量之间,相互调用的方法,和修改原来初始化变量的方法
查看>>
ASP.NET MVC中将控制器分离到类库的实现(转)
查看>>
Poj 2304 Combination Lock(模拟顺、逆时钟开组合锁)
查看>>
Palindrome Number
查看>>