The official Microsoft documentation for .NET Feature Management in Azure App Configuration contains rich details suitable for a well-structured course. Based on this material, here is a recommended course design for teaching .NET Feature Management, targeting developers and architects working on ASP.NET Core or general .NET Core applications.
The course covers the principles and implementation of feature management in .NET applications using Azure App Configuration. It emphasizes best practices, hands-on configuration, and integration with real-world enterprise app scenarios.
.NET/ASP.NET Core developers
Solution architects
DevOps professionals interested in feature flagging and staged rollouts
Working knowledge of C# and ASP.NET Core
Basics of Azure App Configuration
Experience with dependency injection
Concept of feature flags and modern DevOps
Benefits: incremental rollout, A/B testing, risk mitigation
Installing library via NuGet
Setting up appsettings.json or Azure App Configuration for feature flags
Registering services using dependency injection
Understanding configuration sections: feature_management, feature_flags, flag objects (id, enabled, conditions)
Use cases: toggling features, enabling by default, disabling with conditions
What is a feature filter
Built-in filters: Percentage, TimeWindow, Targeting
Custom filters: Writing and registering your own filter via IFeatureFilter
Using filter parameters for advanced scenarios
Using IsEnabledAsync in controllers and services
MVC filters and FeatureGateAttribute for controller/actions
Razor views: <feature> tag helper usage
Middleware integration: conditional pipeline branching
Handling multiple configuration sources (appsettings.json, Azure App Configuration)
Custom merging strategies
Pitfalls of default .NET array index merging
Contextual feature management using IContextualFeatureFilter
Console apps: passing evaluation context explicitly
Web apps: using ITargetingContextAccessor and context from HttpContext.User
Audience targeting: users, groups, exclusions, rollout percentages
Defining feature variants and allocation
Using GetVariantAsync and variant configuration
Variant assignment: users, groups, percentile buckets, seed settings
Changing flag states dynamically (hot reload via Azure App Configuration)
Feature lifetime management
Unit testing feature-managed code
Managing missing filters, handling errors and fallbacks
Ensuring safe feature rollouts in production
Step-by-step implementation of flags in web and console apps
Creating custom filters for business scenarios
Progressive rollout exercises with real Azure App Configuration
Feature management strategies in enterprise applications
Integration with CI/CD pipelines
Debugging flag issues
Common mistakes and their resolutions
Implement feature flag toggling in a sample e-commerce project.
Enable a new checkout feature for 20% of users using the Microsoft.Percentage filter.
Add a custom business-hour filter using IFeatureFilter.
Add an A/B test for beta vs legacy UI using feature variants.
On completion, students will be able to confidently implement, manage, and scale feature management in .NET applications using Azure App Configuration, and will understand industry-standard patterns for safe deployment and continuous delivery.
This modular course is aligned with the official docs and structured to maximize hands-on practice, conceptual clarity, and real-world readiness for .NET professionals.
