Я пытаюсь узнать, как использовать класс ConfigurationSection. Я имел обыкновение использовать IConfigurationSectionHandler, но выпустил, что это устарело. Так что, будучи хорошим парнем, я стараюсь «правильным» способом. Моя проблема в том, что он всегда возвращает ноль.
У меня есть консольное приложение и DLL.
class Program
{
static void Main(string[] args)
{
StandardConfigSectionHandler section = StandardConfigSectionHandler.GetConfiguration();
string value = section.Value;
}
}
Конфигурация приложения:
<?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>
обработчик раздела в 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», он возвращает ноль или выдает ошибку, в которой говорится, что «тест» является нераспознанным элементом. Значения, которые я пробовал:
- ConfigSectionGroup
- ConfigSectionGroup /
- ConfigSectionGroup / ConfigSection
- ConfigSectionGroup / ConfigSection /
- ConfigSectionGroup / ConfigSection / тест
- ConfigSectionGroup / ConfigSection / тест /