Я могу уважать цель иметь динамическую конфигурацию, которая проверяет себя, но реально я бы не предложил идти по этому пути.
По большей части (предостережения позже), когда веб-приложение запускается, оно либо настроено правильно, либо нет. Если приложение неправильно настроено, оно просто не будет работать. Например, когда приложения запускаются, многие подключаются к базе данных. Если строка подключения неверна, пользователь никогда не получит хорошего опыта. Это должно быть обработано при запуске, и при запуске только . Веб-приложение НЕ должно запускаться, если оно знает, что оно не может функционировать. Распространение кода по всему приложению для решения этой проблемы - не самый лучший способ.
Идея проверки этого при инициализации контекста прекрасна. Но он должен быть совершенно готов бросить подробное и зарегистрированное исключение на месте, чтобы администратор (а не пользователь!) Мог разобраться с проблемой и перезапустить приложение.
Что касается динамических конфигураций, которые обновляются без перезапуска. Это хорошо для настройки некритических параметров, таких как длительность тайм-аута, уровни ведения журнала или параметры пула. Это должны быть вещи, которые не приводят к немедленной остановке приложения, если они неверны. Например, имя хоста вашего соединения с БД не относится к таким вещам.
По моему опыту, ни одна из этих вещей не стоит усилий, чтобы решить все побочные проблемы, вызванные динамической перезагрузкой конфигураций. Я бы просто проверил вещи при запуске и немедленно остановился, если возникла фатальная проблема.
РЕДАКТИРОВАТЬ: Примечание: проверка того, что ваш файл конфигурации находится на своем месте и содержит все необходимые настройки, это то, что, вероятно, следует делать при тестировании, а не во время запуска приложения. Вы можете сделать это как простой модульный тест для самого файла.