无法从app.config文件中读取新添加的连接字符串

时间:2015-09-28 10:48:14

标签: c# connection-string app-config

我在运行时将连接字符串添加到我的App.config文件中,如下所示:

ConnectionStringSettings connSettings = new ConnectionStringSettings("dbConnectionString", "Data Source=DBSERVERNAME,1111;Initial Catalog=DBNAME;Integrated Security=false;User ID=USERID;Password=PASSWORD");
            var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            config.ConnectionStrings.ConnectionStrings.Add(connSettings);
            config.Save();

此代码正确地将connectionstring添加到app.config文件中。

然后我试图像这样创建一个SqlConnectionStringBuilder类:

SqlConnectionStringBuilder destinationConnection = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["dbConnectionString"].ConnectionString);

我收到一个空引用异常。为什么我得到null引用异常?我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

配置类缓存读取文件。在获取代码中的新值之前,需要刷新相应的配置部分。

ConfigurationManager.RefreshSection("connectionStrings");

更新:您是否实际执行这两项操作,更新app.config并尝试从同一进程(和AppDomain)访问连接字符串?因为如果是这样的话,不需要刷新配置部分。如果您将两个片段都粘贴到控制台应用程序的Main方法中,它将按预期工作,而无需刷新该部分。