ConfigurationSection ConfigurationManager.GetSection() всегда возвращает ноль

Я пытаюсь научиться пользоваться классом ConfigurationSection. Раньше я использовал IConfigurationSectionHandler, но потом сказал, что он обесценился. Так что, будучи хорошим парнем, я пытаюсь "правильным" способом. Моя проблема в том, что он всегда возвращает ноль.

У меня есть консольное приложение и DLL.

class Program
{
    static void Main(string[] args)
    {           
        StandardConfigSectionHandler section = StandardConfigSectionHandler.GetConfiguration();

        string value = section.Value;
    }
}

app config:

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

  <configSections>
    <sectionGroup name="ConfigSectionGroup">
      <section name="ConfigSection" type="Controller.StandardConfigSectionHandler, Controller" />
    </sectionGroup>
  </configSections>

  <ConfigSectionGroup>
    <ConfigSection>
      <test value="1" />
    </ConfigSection>
  </ConfigSectionGroup>

</configuration>

section handler in DLL:

namespace Controller
{    
    public class StandardConfigSectionHandler : ConfigurationSection
    {
    private const string ConfigPath = "ConfigSectionGroup/ConfigSection/";

    public static StandardConfigSectionHandler GetConfiguration()
    {
        object section = ConfigurationManager.GetSection(ConfigPath);
        return section as StandardWcfConfigSectionHandler;
    }

    [ConfigurationProperty("value")]
    public string Value
    {
        get { return (string)this["value"]; }
        set { this["value"] = value; }
    }
  }
}

Какие бы значения я ни пытался получить для "ConfigPath", оно возвращает ноль или бросает ошибку, говоря, что "test" - нераспознанный элемент. Значения, которые я пробовал:

  • ConfigSectionGroup
  • ConfigSectionGroup/
  • ConfigSectionGroup/ConfigSection
  • ConfigSectionGroup/ConfigSection/
  • ConfigSectionGroup/ConfigSection/test
  • ConfigSectionGroup/ConfigSection/test/
10
задан Jon 18 May 2011 в 20:34
поделиться