从C#中的Machine.Config访问客户配置设置子节点

时间:2014-01-10 17:20:18

标签: c# .net

我想阅读Machine.Config中定义的自定义配置设置。此外,我需要访问其中的一些子节点。

以下是machine.config中的配置设置....我需要访问“connectionstring”值....

    <configuration>
    <commonsettings>
      <setting environment="dev">
       <common>
        <connectionstring>value</connectionstring>
       <common>
      </setting>
     </commonsettings>
    </configuration>

有人可以帮我写一下这段代码吗?

1 个答案:

答案 0 :(得分:0)

有两种方法可以读取机器配置。

  1. 使用.net提供的OpenMachineConfiguration方法   这方面的问题是所有部分都必须具有可读/可反序列化的对象

  2. 另一种方法是像其他任何xml一样读取机器配置。为此,.net使用属性RuntimeEnvironment.SystemConfigurationFile

    提供machineconfig.xml路径

    知道机器配置路径后,以下代码段可以帮助加载文件

    XDocument xdoc = XDocument.Load(RuntimeEnvironment.SystemConfigurationFile);
    

    使用xdoc.XPathSelectElement方法可以读取xml中的相应值,详见此SO article

     string connectionString = string.Empty;
     var element = xdoc.XPathSelectElement("//commonsettings/common/connectionstring");
     if (element != null)
         connectionString = (string)element.Value;