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