Допустим, у вас есть следующий файл конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="test" value="1" />
</appSettings>
</configuration>
Давайте сначала попробуем наивный подход. Следующее приложение попытается получить значение appSetting
с именем test
один раз в секунду и вывести его значение:
static void Main(string[] args)
{
while(true)
{
Console.WriteLine(ConfigurationManager.AppSettings["test"]);
Thread.Sleep(1000);
}
}
Но увы! Пока он работает, вы заметите, что он продолжает печатать 1
и не регистрирует никаких изменений.
Если вы обновите свой код до следующего, это исправит эту проблему и будет получать изменения при каждом его изменении:
static void Main(string[] args)
{
while(true)
{
ConfigurationManager.RefreshSection("appSettings");
Console.WriteLine(ConfigurationManager.AppSettings["test"]);
Thread.Sleep(1000);
}
}