2015-09-28 139 views
3

我添加在運行時我的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,以應用.config文件。

然後我想創建一個SqlConnectionStringBuilder類是這樣的:

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

我得到一個空引用異常。爲什麼我得到null參考例外?我在這裏錯過了什麼?

+0

你可以檢查'ConfigurationManager.ConnectionStrings [「dbConnectionString」]'的值嗎? – helencrump

+0

其空。我想知道爲什麼它的值是空的,因爲我已經將它添加到App.config。 – sid

回答

3

配置類緩存讀取文件。在獲取代碼中的新值之前,您需要刷新相應的配置部分。

ConfigurationManager.RefreshSection("connectionStrings"); 

UPDATE:你實際做兩個,更新的app.config並試圖訪問連接字符串中,從相同的過程(和AppDomain中)?因爲如果需要刷新配置部分,則不需要。如果將兩個碎片都粘貼在控制檯應用程序的Main方法中,它將按預期方式工作而不是刷新該部分。

+0

是的,我在同一個過程中都在做。它仍然沒有工作。我需要刷新連接字符串部分才能使它工作。謝謝。 – sid