Любое приложение требует конфигурации, которая может быть как простой, используя файл с сеттингами, так и многоступенчатой, когда задействованы удаленные источники (база данных, key/value хранилище). В первую очередь Options паттерн предоставляет строготипизированный доступ к сеттингам и такие продвинутые возможности как гибкость слияния, подстановки сеттингов на различных этапах конфигурации приложения. Понимание каким образом происходит регистрация инфраструктуры на которой базируется Options, позволит нам динамически расширять конфигурацию приложения без изменения исходного кода библиотек. Изучение низкоуровневого механизма для отслеживания изменения настроек приложения позволяет перестраивать его поведение не только через DI, а также в статических классах. Кроме того, мы рассмотрим интеграцию Options с одним из микросервисных паттернов известным как сервис дискавери который позволит придать динамику конфигурационным параметрам и менять их в райнтайме без релоада самого приложения.
10. t .NET LEVEL UP
KYIV 2018
Demo
Adding dynamic behavior to static class to modify
logging level based on example Serilog
11. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
IOptionsMonitor/IOptionsSnapshot
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
12. t .NET LEVEL UP
KYIV 2018
Demo
Managing options of singleton HttpClientFactory
13. t .NET LEVEL UP
KYIV 2018
Demo
Implementation custom configuration provider
(Consul) with reloadable configuration
14. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Summary
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
• flexible and extensible configuration of application using Options;
• how to build reloadable options with change notifications;
• custom configuration providers with reloadable settings;