Loading image…
⚙️ Как правильно работать с настройками в .NET?
В .NET есть 3 основных интерфейса для конфигурации.  
И если выбрать не тот — приложение может просто игнорировать изменения в настройках.
Разбираем просто 👇
1️⃣ IOptions  
- читается один раз при запуске  
- кэшируется на всё время жизни приложения  
- подходит для статических настроек  
2️⃣ IOptionsSnapshot  
- пересчитывается на каждый запрос  
- подхватывает изменения в appsettings.json без перезапуска  
- идеален для Web API (Scoped)  
3️⃣ IOptionsMonitor  
- обновляется в реальном времени  
- триггерит событие при изменении настроек  
- подходит для фоновых сервисов (Singleton)  
Главное правило:
👉 статические настройки → IOptions  
👉 веб-приложения → IOptionsSnapshot  
👉 фоновые сервисы с реакцией на изменения → IOptionsMonitor  
Если используешь не тот интерфейс — можешь долго не понимать, почему конфиг не обновляется.
А это одна из самых частых и незаметных ошибок в .NET.
Views: 597
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go