Ваше приложение запускается без ошибок.
Затем приходит первый настоящий запрос.
Он пытается вызвать GitHub, отправить email, подключиться к сервису или использовать флаг функции.
И только тогда вы узнаёте, что одно значение конфигурации отсутствует или неверно.
Плохой URL.
Пустой токен.
Отсутствующая настройка.
Приложение никогда не было готово к запуску.
Оно просто об этом не сообщило.
ASP.NET Core предоставляет строго типизированную конфигурацию через паттерн Options. Но привязка значений к классу — это только часть работы.
Вам также нужно знать, что эти значения валидны.
И здесь может помочь FluentValidation.
Вместо добавления простых правил в класс настроек, вы можете хранить валидацию в отдельном валидаторе и чётко описать реальные правила:
→ Обязательное значение должно существовать
→ URL должен быть валидным
→ Одна настройка может зависеть от другой
→ Пользовательские проверки можно тестировать независимо
Затем добавьте валидацию при запуске.
Теперь, если конфигурация неверна, приложение падает сразу при старте.
Именно это нужно в контейнере, CI-пайплайне или новом деплое.
Сломанное приложение должно упасть до получения трафика, а не после того, как пользователь найдёт проблему за вас.
@KodBlog
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram