Мне нужно предоставить несколько простых параметров конфигурации для моего сайта, которые легко изменить, не требуя перекомпиляции или перезапуска приложения. Я также хотел бы, чтобы параметры кэшировались в приложении, но они должны обновляться при изменении конфигурации (или, по крайней мере, каждые несколько минут). Мой веб-сайт представляет собой приложение ASP.NET Core MVC, которое работает в службе приложений Azure и развертывается путем отправки в репозиторий git, а затем перестраивается с помощью Kudu.
Я думал об использовании конфигурации с поставщиком EF, но для поддержки перезагрузки конфигурации при изменении данных требуется немало усилий.
Я заметил, что у провайдера конфигурации JSON есть опция "reloadOnChange", так что это хороший вариант. Однако я не уверен, куда мне поместить файл JSON в среду службы приложений Azure, чтобы он был легко читаемым приложением, общим для всех экземпляров и постоянным для развертываний. Я знаю, что папка "d: \ home" является общей и постоянной. Файл wwwroot находится внутри него, но я боюсь, что файл может быть удален в какой-то момент при повторном развертывании приложения. Поэтому я хотел бы поместить его в одну из родительских папок, но как мне получить доступ к домашней папке из кода C #? Я предполагаю, что я не должен просто жестко закодировать путь "d: \ home".
Я также очень хочу услышать о любых альтернативных способах достижения цели.