Configuration sources & providers
Course Content
0 / 91 completedWhat is Configuration
Who is the course for and prerequisites
Introduction
Welcome
Why configuration is important
Configuration sources & providers
What will you learn in this course
Section Recap
Configuration in .NET
First Configuration NuGet package
Introduction (2)
Explore the IConfiguration and related APIs
What’s a ConfigurationManager
Standalone vs. Host
Running the Worker Service with template behavior
Exploring the Worker Service default configuration
Learning the JSON configuration provider capabilities
Configuring and manually parsing custom values
Environment specific configuration
Benefiting from the Binder package
INI configuration provider
XML configuration provider
Discussing the empty application builder sample app
User Secrets configuration provider
Section Recap (2)
Base File Providers
Introduction to Configuration Providers
Managing user secrets
JSON configuration provider
Environment Variables configuration provider
Command-line configuration provider
Key-per file configuration provider
Section Recap (3)
Azure Key Vault configuration provider
Review and Finalize implementation details
Create the implementation class library
Azure App Configuration provider with Key Vault secrets
Implement the IConfigurationSource
Section Recap (4)
Implementing the YAML parser
Consuming YAML configuration with custom provider
Implement the IConfigurationProvider
Introduction to the Options Pattern
Extend IConfigurationBuilder and expose AddYamlFile APIs
Modeling the Logging Options
Bind Logging Options to Configuration
Introduction to Implementing a Custom Configuration Provider
Consuming Logging Options through DI
Adding another options-modeled object
Binding additional named-options
Resolving named-options by name
Configuring and editing named-options
Verifying configuration bindings and DI hydration
Considering alternative APIs for registering options
Overriding configurations with post configure APIs
Overriding all config-bound instances
Section Recap (5)
Avoid implementing IOptions
Enabling source-generated configuration binding
Understanding reflection-based binding
Introduction to Validating Options
Implementing the IValidateOptions interface
Handling validation errors
Expressing simple delegate-based validation with fluent APIs
Controlling when validation errors occur
Registering options with validation
Using data-annotations for declarative validation
Compile-time validation with source-generators
Introduction to Options Monitoring
Visualizing an Alerting App Scenario
Section Recap (6)
Differentiating Options interfaces
Introduction to Consumer-Centric (Empathy-based) Authoring
Section Recap (7)
Post Code-walk Options and Settings
Exploring the Alerting Implementation
Changing Config Data & Monitoring Alerts
Being Mindful of Monitoring Limitations
Debating namespace Naming IServiceCollection Extensions
Confirming new consumer experiences
Defining Strongly-typed WidgetOptions
Consuming the Add with IConfigurationSection
Improving consumer experiences through meaningful error messages
Exploring an Add with IConfigurationSection API
Section Recap (8)
Exposing an Action API
Using the configureOptions delegate-based API
The Importance of Consistent APIs
Consuming the Add with Options-type API
Conclusion
Considerations when accepting Option-types as Add API parameters