读取另一个应用程序的 Web.Config 以获取 ConnectionString

Reading Another Application's Web.Config to get ConnectionString

如何读取另一个应用程序以获取 connectionString .. 我有 web.config 文件的路径 但是里面有多个连接字符串,我想得到唯一一个没有注释的连接字符串。

<connectionStrings>
  <add name="DbConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\abcd\Data\abcd.accdb;" providerName="System.Data.OleDb"/>
  <!--<add name="DbConString" connectionString="Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=abc;Data Source=afrt-WIN7JPN-80\SQLEXPRESS" providerName="System.Data.SqlClient"/>-->
</connectionStrings>

如何获取未评论的DbConString

你可以试试这个

var filePath = @"D:\PathToConfig\Web.config";
var map = new ExeConfigurationFileMap { ExeConfigFilename = filePath };
var configFile = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);

如图 here!

只需阅读 Web.Config 和 XmlDocument

即可完成
 string connStr = "";
 XmlDocument xdoc = new XmlDocument();
 xdoc.Load(WebConfigPath);
 XmlNode xnodes = xdoc.SelectSingleNode("/configuration/connectionStrings");

  foreach (XmlNode xnn in xnodes.ChildNodes)
  {
     if (xnn.NodeType == XmlNodeType.Comment)
     { 
     }
     else
     {
       connStr = xnn.Attributes["connectionString"].Value.ToString();
     }
  }