如何获取 app.config 中所有连接字符串的列表

mor*_*rck 3 c#

需要创建一个小型控制台应用程序,它需要两个参数:

  1. 文件的文件位置app.config
  2. 我的问题是控制台应用程序需要读取connectionStrings并加密它,然后将加密文本保存到配置文件中。我已经看过,但没有找到任何解决方案。

我的app.config文件可能如下所示:

<?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <connectionStrings>
        <add name="Conn1" connectionString="Data Source=Database1;Initial Catalog=DB12;User ID=User1234;Password=Qwerty123" providerName="System.Data.SqlClient" />
        <add name="Conn2" connectionString="Data Source=Database2;Initial Catalog=DB12;User ID=User1234;Password=Qwerty123" providerName="System.Data.SqlClient" />
       </connectionStrings>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
      </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我已经完成了加密部分。在这个例子中我只需要读取这两个connectionstrings并分别加密它们。connectStrings请注意,每次的名称都不同,因为控制台应用程序是由 TFS 构建服务器触发的。

小智 5

基本上,您实际上并不需要连接字符串的名称,而是需要连接本身。我相信您只需要遍历它们,并且foreach对于每次迭代,您都可以获得连接字符串,直到 app.config 中的最后一个。

 foreach (System.Configuration.ConnectionStringSettings css in System.Configuration.ConfigurationManager.ConnectionStrings)
 {
   string connectionString = css.ConnectionString;  
   // encryption part
   // rewriting the connectionString in the app.config or however you want ot be done 
 }
Run Code Online (Sandbox Code Playgroud)

您提到您已经完成了加密部分,您所需要的只是读取字符串。

希望能帮助到你!