Получить данные конфигурации из app.config - PullRequest
0 голосов
/ 29 мая 2018

Попытка перебрать файл app.config, искать сообщения, но не повезло

app.config

 <configSections>
    <section name="US" type="System.Configuration.NameValueSectionHandler"/>
    <section name="UK" type="System.Configuration.NameValueSectionHandler"/>
 </configSections>

  <US>
    <add key="UserName" value="test" />
    <add key="Password" value="test" />
    <add key="baseURI" value="http://test.com />
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </US>

  <UK>
   <add key="UserName" value="test1 />
    <add key="Password" value="test1 />
    <add key="baseURI" value="http://test1.com />
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </UK>

Мне нужно перебрать файл app.config и получить данные значения ключа, как показано ниже для США.и британские секции.

*Result:*

Section : US

Username: test
Password: test
baseURI: http://test.com

Section : UK

Username: test1
Password: test1
baseURI: http://test1.com

1 Ответ

0 голосов
/ 04 июня 2018

Есть некоторая проблема с вашим конфигурационным файлом, вам не хватает некоторых кавычек ("), плз сначала исправьте.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <!--This MUST be the first node-->
  <configSections>
    <section name="US" type="System.Configuration.AppSettingsSection"/>
    <section name="UK" type="System.Configuration.AppSettingsSection"/>
  </configSections>

  <US>
    <add key="UserName" value="test" />
    <add key="Password" value="test" />
    <add key="baseURI" value="http://test.com" /> <!--misssing a " here!! -->
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </US>

  <UK>
    <add key="UserName" value="test1" /><!--misssing a " here!! -->
    <add key="Password" value="test1" /><!--misssing a " here!! -->
    <add key="baseURI" value="http://test1.com" /><!--misssing a " here!! -->
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </UK>        

</configuration>

, а затем в коде yr просто используйте ConfigurationManager.OpenExeConfiguration, чтобы получить объект конфигурации:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var section = (AppSettingsSection)config.GetSection("UK");

var results = section.Settings["UserName"].Value;

Console.WriteLine(results);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...