A hands-on workshop demonstrating OpenFeature capabilities in a .NET environment. We will use a web application that stores the cars that we currently have in our collection.
This workshop teaches you how to implement feature flags using OpenFeature in a real-world .NET application. You'll explore:
- Feature Flag Fundamentals: Toggle functionality without code deployments
- OpenFeature Integration: Industry-standard feature flagging for .NET
- Kill Switches: Safely disable features in production
- Dynamic Configuration: Modify application behavior at runtime
- A/B Testing: Experiment with user experiences
- Progressive Rollouts: Gradually release features to users
- Garage.Web: Blazor Server frontend for managing car collections
- Garage.ApiService: REST API for car data
- Garage.ServiceDefaults: Shared services including feature flag implementations
- Garage.Shared: Common models and DTOs
- Garage.AppHost: .NET Aspire orchestration and service discovery
The workshop demonstrates these feature flags:
| Flag | Type | Purpose | Default | 
|---|---|---|---|
| SlowOperationDelay | int | Simulate processing delays | 1000ms | 
| EnableDatabaseWinners | bool | Toggle data source (DB vs JSON) | false | 
| EnableStatsHeader | bool | Show/hide statistics header | true | 
- .NET 9.0 SDK or later
- Visual Studio, Visual Studio Code with C# extension or JetBrains Rider
- Git for version control
- Docker Desktop (for containerized dependencies)
git clone https://github.com/open-feature/openfeature-dotnet-workshop.git
cd openfeature-dotnet-workshopdotnet restorecd src/Garage.AppHost
dotnet run- Web Frontend: https://localhost:7070
- API Service: https://localhost:7071
- Aspire Dashboard: https://localhost:15888
Ready to start learning? Head over to Workshop.md for step-by-step exercises that will guide you through. Each exercise includes detailed instructions, expected outcomes, and troubleshooting tips to ensure a smooth learning experience.
- OpenFeature Documentation
- .NET Aspire Documentation
- Feature Flag Best Practices
- Blazor Documentation
This project is licensed under the MIT License.