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