Комментарии 5
А почему вы используете именно IOptions<OpenWeatherConfiguration>?
Вы же теряете возможность менять конфигурацию без перезапуска прилржения: Value для этого интерфейса инициализуется один раз, при первом обращении и дальше не меняется.
Не кажется ли вам, что IOptionsSnapshot<OpenWeatherConfiguration>, который считывает значение из конфигурации (не из файла, что бы могло тормозить, а из объекта в памяти, который соответствующий IConfiguration реализует, что реально почти не тормозит) было бы лучше?
Или для целей статьи это несущественно?
Вы же теряете возможность менять конфигурацию без перезапуска прилржения: Value для этого интерфейса инициализуется один раз, при первом обращении и дальше не меняется.
Не кажется ли вам, что IOptionsSnapshot<OpenWeatherConfiguration>, который считывает значение из конфигурации (не из файла, что бы могло тормозить, а из объекта в памяти, который соответствующий IConfiguration реализует, что реально почти не тормозит) было бы лучше?
Или для целей статьи это несущественно?
Очень правильно подмечено! Для случаев, когда для применения нового значения параметра готовы прибегать к перезапуску приложения, как в указанном примере, нужно использовать IOptions, во всех остальных случаях лучше применять IOptionsSnapshot. Если бы это было реальное приложение, то следовало бы заменить тип.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Теория и подготовка