У меня есть приложение ASP.NET, которое является частью гораздо большей системы; он читает большую часть своей конфигурации из файлов, которые находятся выше корневого уровня веб-приложения.
Поскольку приложение уже написано и формат файлов конфигурации был выбран для упрощения редактирования пользователями, я не могу использовать решение в «Совместно используемые файлы конфигурации в .NET».
Я надеюсь, что в ASP.NET есть API, который я могу вызвать во время запуска, чтобы сообщить ему, какой файл смотреть. (Я мог бы написать это непросто, используя FileSystemWatcher и перехватывая события, а затем сам перезапускать, но было бы жаль, поскольку в ASP.NET уже есть код для просмотра файлов и перезапуска при их изменении.)
Кроме того, какой ASP.NET API я вызываю, чтобы ASP.NET перезапустился?
Вот некоторые ссылки, которые я нашел, которые могут помочь:
Использование FileSystemWatcher из ASP.NET и Расширение FileSystemWatcher до ASP.NET
В одном случае я кэшировал конфигурацию в ASP.NET Cache и установил CacheDependency к файлу. В другом случае, когда требовался более быстрый доступ, я использовал FileSystemWatcher и обновлял статическое поле при изменении конфигурации.
(я так и не узнал, как разумно перезапустить ASP.NET из кода.)