C# 配置自定义的Config文件
一、前言 我在某个项目创建了一个config文件,想要对这个config文件的某个节点下添加连接字符串。
于是乎,开启了百度、谷歌之旅......
二、实现
1.这是我创建的config文件内容,我想要在connectionStrings里添加连接字符串
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> </connectionStrings> </configuration>
2.这是一个winform界面
3.然后百度,发现很多都是对App.Config下的appSettings节点进行操作的,有点懵了,研究了一番,嘿,一样的,简单的很
首先拿到文本框的内容,拼接成连接字符串
var connString = $"Data Source ={Servicetxt.Text};Initial Catalog={DataBasetxt.Text};User ID={LoginNametxt.Text};Password={Passwordtxt.Text}";
然后再搞一个方法
public bool SetConfigKey(string conn) {
//获取包含当前执行的代码的程序集 Assembly assembly = Assembly.GetExecutingAssembly(); try {
//bin下面的配置文件 string path = string.Format("{0}.config", assembly.Location.Substring(0, assembly.Location.LastIndexOf(@"\") + 1) + @"App_Data\rdbs"); ExeConfigurationFileMap configFile = new ExeConfigurationFileMap() { ExeConfigFilename = path };
//打开相关的配置文件 Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFile, ConfigurationUserLevel.None);
//拼接连接字符串配置文件节中的单个命名连接字符串 ConnectionStringSettings connSettings = new("conn", conn, "System.Data.SqlClient"); //获取connectionStrings节点 ConnectionStringsSection connection = (ConnectionStringsSection)config.GetSection("connectionStrings"); //删除connectionString节点下的所有内容 connection.ConnectionStrings.Clear(); //向节点里添加内容 connection.ConnectionStrings.Add(connSettings);
//保存修改的内容 config.Save(ConfigurationSaveMode.Modified); } catch { return false; } return true; }
4.运行
已经成功的加上一条了
三、总结
很多东西还是不太清楚,不太熟练,遇到问题时,要有能独立解决问题的能力,尽量多思考,多动手。遇到不会的,百度谷歌,翻遍网络,总是会有答案的,山重水复疑无路,柳暗花明又一村。