• Courses
  • TutorialsFree
  • Learning Paths
  • Blogs
  • Authors
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • From Zero to Hero: Configuration and Options in .NET

    Learn how to use Configuration and Options in any .NET codebase

    About This Course

    Configuration is one of the core fundamentals of any .NET application. Whether it's a web application, an API, a desktop application or anything in between, every application has settings and options that make it configurable, flexible and functional. From simple numbers and booleans to connection strings that need to be stored and loaded securely, everything needs to be handled with care and a complete understanding of how they work and what is happening under the hood. In this course, Microsoft Senior Content Developer David Pine will teach you everything you need to know to get up to speed with Configuration and Options in .NET.

    Course Curriculum

    3h 28m 10 sections
    Welcome
    01:14 Free preview
    What will you learn in this course?
    01:45 Free preview
    Who is the course for and prerequisites
    00:34 Free preview
    Introduction
    00:49
    What is Configuration?
    01:45
    Why configuration is important?
    01:38
    Configuration in .NET
    01:28
    Configuration sources & providers
    01:11
    First Configuration NuGet package
    02:47
    Explore the IConfiguration and related APIs
    07:34
    Section Recap
    01:21
    Introduction
    01:08
    Standalone vs. Host
    04:04
    What’s a ConfigurationManager?
    01:21
    Exploring the Worker Service default configuration
    01:30
    Running the Worker Service with template behavior
    00:34
    Learning the JSON configuration provider capabilities
    01:45
    Environment specific configuration
    02:56
    Configuring and manually parsing custom values
    01:43
    Benefiting from the Binder package
    01:41
    Section Recap
    01:31
    Introduction to Configuration Providers
    00:37
    Base File Providers
    00:47
    Discussing the empty application builder sample app
    01:13
    JSON configuration provider
    03:00
    XML configuration provider
    01:51
    INI configuration provider
    01:48
    User Secrets configuration provider
    01:36
    Managing user secrets
    06:36
    Environment Variables configuration provider
    02:31
    Command-line configuration provider
    03:31
    Key-per file configuration provider
    02:25
    Azure Key Vault configuration provider
    04:10
    Azure App Configuration provider with Key Vault secrets
    03:36
    Section Recap
    00:59
    Introduction to Implementing a Custom Configuration Provider
    01:31
    Create the implementation class library
    01:35
    Implement the IConfigurationSource
    01:23
    Implement the IConfigurationProvider
    02:27
    Extend IConfigurationBuilder and expose AddYamlFile APIs
    02:22
    Implementing the YAML parser
    09:35
    Review and Finalize implementation details
    02:11
    Consuming YAML configuration with custom provider
    04:30
    Section Recap
    01:07
    Introduction to the Options Pattern
    02:09
    Modeling the Logging Options
    02:09
    Bind Logging Options to Configuration
    01:50
    Consuming Logging Options through DI
    02:41
    Adding another options-modeled object
    01:02
    Binding additional named-options
    01:48
    Configuring and editing named-options
    01:30
    Resolving named-options by name
    01:30
    Verifying configuration bindings and DI hydration
    01:13
    Considering alternative APIs for registering options
    01:40
    Overriding configurations with post configure APIs
    02:15
    Overriding all config-bound instances
    01:52
    Avoid implementing IOptions<T>
    01:58
    Understanding reflection-based binding
    02:14
    Enabling source-generated configuration binding
    02:05
    Section Recap
    01:01
    Introduction to Validating Options
    01:42
    Implementing the IValidateOptions<TOptions> interface
    05:07
    Registering options with validation
    03:03
    Using data-annotations for declarative validation
    04:45
    Handling validation errors
    04:36
    Expressing simple delegate-based validation with fluent APIs
    03:21
    Controlling when validation errors occur
    02:24
    Compile-time validation with source-generators
    04:07
    Section Recap
    01:36
    Introduction to Options Monitoring
    01:14
    Differentiating Options interfaces
    02:10
    Visualizing an Alerting App Scenario
    01:07
    Exploring the Alerting Implementation
    07:47
    Post Code-walk: Options and Settings
    03:08
    Changing Config Data & Monitoring Alerts
    02:04
    Being Mindful of Monitoring Limitations
    01:32
    Section Recap
    01:13
    Introduction to Consumer-Centric (Empathy-based) Authoring
    00:53
    Defining Strongly-typed WidgetOptions
    01:26
    Debating namespace Naming: IServiceCollection Extensions
    01:11
    Exploring an Add* with IConfigurationSection API
    01:55
    Consuming the Add* with IConfigurationSection
    03:35
    Improving consumer experiences through meaningful error messages
    01:35
    Confirming new consumer experiences
    01:52
    Considerations when accepting Option-types as Add* API parameters
    01:53
    Consuming the Add* with Options-type API
    02:18
    Exposing an Action<WidgetOptions> API
    01:43
    The Importance of Consistent APIs
    01:58
    Using the configureOptions delegate-based API
    02:29
    Section Recap
    01:19
    Conclusion
    01:23

    Meet Your Instructor

    David Pine

    David Pine

    David Pine works in Developer Relations at Microsoft, focusing on .NET and Azure developer content. He is recognized as a Google Developer Expert in Web Technologies. David is the O'Reilly Media author of "Learning Blazor: Build Single-Page Apps with WebAssembly and C#". David focuses on the developer community, actively seeking opportunities to share knowledge through speaking engagements around the world. David advocates for open-source, the .NET Foundation, C#, TypeScript, SignalR, Reactive Extensions, Azure and .NET. He's a co-host of the On .NET Live stream, part of the .NET Live TV family of streaming shows.

    View all courses by David Pine

    What's New

    What's new in C# 14
    blog

    What's new in C# 14

    This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

    Learn More
    Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    course

    Let's Build It: AI Chatbot with RAG in .NET Using Your Data

    Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

    Learn More
    Working with Large Language Models
    tutorial

    Working with Large Language Models

    Learn how to work with Large Language Models (LLMs). Understand the fundamentals of how GPT works, the transformer architecture, and master prompt engineering techniques to build AI agents.

    Learn More
    From Zero to Hero: SignalR in .NET
    course

    From Zero to Hero: SignalR in .NET

    Enable enterprise-grade real-time communication for your web apps with SignalR.

    Learn More
    Deep Dive: Solution Architecture
    course

    Deep Dive: Solution Architecture

    Master solution architecture and turn business needs into scalable, maintainable systems.

    Learn More
    Migrating: ASP.NET Web APIs to ASP.NET Core
    course

    Migrating: ASP.NET Web APIs to ASP.NET Core

    A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

    Learn More
    Getting Started: Caching in .NET
    course

    Getting Started: Caching in .NET

    Let's make the hardest thing in programming easy for .NET software engineers.

    Learn More
    From Zero to Hero: Testing with xUnit in C#
    course

    From Zero to Hero: Testing with xUnit in C#

    Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

    Learn More
    Create a ChatGPT Console AI Chatbot in C#
    blog

    Create a ChatGPT Console AI Chatbot in C#

    This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

    Learn More