博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net配置文件读取及修改方法封装(未加密)
阅读量:5894 次
发布时间:2019-06-19

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

.Net平台下开发时,需要将有些数据存储在XML文档中,而我们的首选即是默认新建的app.Config了。新建流程如下:

第一步:在启动工程上右键->添加->新建项。如下图:

第二步:新建配置文件,修改名称,切记要将默认的App1.config修改为App.config,因为默认寻找的配置文件名称是App.config。如果不改名称将找不到,如下图:

第三步:添加相应的connectionStrings和appSettings,如下图:

那么至此,我们的配置文件已经创建好了。那么创建好的配置文件是方便我们使用的,不管是我们读取配置文件中的值还是我们要修改配置文件中的有些配置项。当系统交付客户时,不能每次直接让客户操作配置,更何况一般配置文件都是要加密的。所以我在其他博客园找了一些封装好的方法可供参考:

代码如下:

1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5 using System.Configuration;  6   7 namespace WPFControlsDemo.Control  8 {  9     ///  10     /// 配置文件帮助类 11     ///  12     public class ConfigHelper 13     { 14         #region ConnectionStrings 15  16         ///  17         /// 根据连接串名字connectionName返回数据连接字符串 18         ///  19         /// 连接串名字 20         /// 
数据连接字符串
21 private static string GetConnectionStringsConfig(string connectionName) 22 { 23 string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ToString(); 24 return connectionString; 25 } 26 27 /// 28 /// 更新连接字符串 29 /// 30 /// 连接字符串名称 31 /// 连接字符串内容 32 /// 数据提供程序名称 33 private static void UpdateConnectionStringConfig(string newName, string newConString, string newProviderName) 34 { 35 //记录该连接字符串是否已经存在 36 bool isModified = false; 37 //如果要更改的连接字符串已经存在 38 if (ConfigurationManager.ConnectionStrings[newName] != null) 39 { 40 isModified = true; 41 } 42 43 //新建一个连接字符串实例 44 ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName); 45 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 46 47 //如果连接串已存在,首先删除它 48 if (isModified) 49 { 50 config.ConnectionStrings.ConnectionStrings.Remove(newName); 51 } 52 //将新的连接串添加到配置文件 53 config.ConnectionStrings.ConnectionStrings.Add(mySettings); 54 //保存对配置文件所做的更改 55 config.Save(ConfigurationSaveMode.Modified); 56 //强制重新载入配置文件的ConnectionStrings配置节 57 ConfigurationManager.RefreshSection("ConnectionStrings"); 58 } 59 60 #endregion 61 62 #region AppStrings 63 64 /// 65 /// 返回config文件中的appSettings配置节的value项 66 /// 67 /// appSettings配置节关键字 68 ///
APPSettings配置节值
69 private static string GetAppConfig(string strKey) 70 { 71 foreach (string key in ConfigurationManager.AppSettings) 72 { 73 if (key == strKey) 74 { 75 return ConfigurationManager.AppSettings[strKey]; 76 } 77 } 78 79 return null; 80 } 81 82 /// 83 /// 在config文件中appSettings配置节增加一对键,值对 84 /// 85 /// 86 /// 87 private static void UpdateAppConfig(string newKey, string newValue) 88 { 89 bool isModified = false; 90 foreach (string key in ConfigurationManager.AppSettings) 91 { 92 if (key == newKey) 93 { 94 isModified = true; 95 } 96 } 97 //打开配置文件 98 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 99 //删除已存在的节点100 if (isModified)101 {102 config.AppSettings.Settings.Remove(newKey);103 }104 //增加appSettings节点105 config.AppSettings.Settings.Add(newKey, newValue);106 //保存配置文件107 config.Save(ConfigurationSaveMode.Modified);108 //强制刷新109 ConfigurationManager.RefreshSection("appSettings");110 }111 112 #endregion113 }114 }

转载于:https://www.cnblogs.com/weitao/p/4114577.html

你可能感兴趣的文章
变频电源内部的元器件是有着什么样的发挥和作用
查看>>
hadoop+spark+scala环境--单实例版
查看>>
数组排序_冒泡排序、选择排序、快速排序
查看>>
mybatis写xml时注意事项
查看>>
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>
C#的异常处理机制
查看>>
Redis学习手册(内存优化)
查看>>
openstack Juno安装——之手动安装
查看>>
解决libmcrypt was not found,无法安装mcrypt
查看>>
QSS学习
查看>>
写给MongoDB开发者的50条建议Tip13
查看>>
Linux 系统管理的基本知识
查看>>
我的友情链接
查看>>
那些年,一起学的Java 7-4
查看>>
我的友情链接
查看>>
vsftp:500 OOPS: could not bind listening IPv4 sock
查看>>
系统架构师职业分析
查看>>
Centos7下安装DB2
查看>>
我的友情链接
查看>>
Linux安装BTCPayServer并设置比特币BTC和Lightning支付网关
查看>>