Отследить изменения в App.config C#

109
05 февраля 2022, 23:10

Мне необходимо отследить, что файл App.config изменяется. То есть, если я вношу изменения в него, то должна срабатывать моя функция. Пользуюсь для этого FileSystemWatcher. То, что файл изменился я фиксирую, но когда читаю из него данные, то читаются старые данные. Проблема в работе FileSystemWatcher? Или какой нюанс я упустил? Ниже код, который читает файл. Если нужны ещё какие-то фрагменты, то сообщите, пожалуйста

var sites = new List<Site>();
        var section = (ConfigHandler)ConfigurationManager.GetSection("setting");
        foreach (SiteConfigElement l in section.SettingItems)
        {
            sites.Add(new Site(l.Url, l.Email, l.Interval, l.WaitTime));
        }

Site это мой класс. В нём хранятся данные.

Answer 1

Конфигурация кэшируется, для повышения производительности и вы читаете старые значения из кэша. Когда определили, что app.config был изменен вручную, обновите кэш нужной секции конфигурации перед чтением (RefreshSection)

ConfigurationManager.RefreshSection("setting");

Подсмотрено тут

READ ALSO
C# Обновление запросов старой библиотеки discord.net 0.9.6

C# Обновление запросов старой библиотеки discord.net 0.9.6

приветствую столкнулся с проблемой при компиляции на старой библиотеке выдает ошибку, пи обновлении до ближайшей актуальной версии discordnet...

87
Не работают ссылки в RichTextBox

Не работают ссылки в RichTextBox

Сделал метод, который получает список файлов (ссылок)

68
Не могу получить html код сайта

Не могу получить html код сайта

Пытаюсь получить HTML код с сайта https://wwwrbc

68