FlagCommanderUINet6 0.0.2
dotnet add package FlagCommanderUINet6 --version 0.0.2
NuGet\Install-Package FlagCommanderUINet6 -Version 0.0.2
<PackageReference Include="FlagCommanderUINet6" Version="0.0.2" />
<PackageVersion Include="FlagCommanderUINet6" Version="0.0.2" />
<PackageReference Include="FlagCommanderUINet6" />
paket add FlagCommanderUINet6 --version 0.0.2
#r "nuget: FlagCommanderUINet6, 0.0.2"
#:package FlagCommanderUINet6@0.0.2
#addin nuget:?package=FlagCommanderUINet6&version=0.0.2
#tool nuget:?package=FlagCommanderUINet6&version=0.0.2
FlagCommander - Feature flags for .NET
A powerful and flexible feature flag solution for .NET applications, enabling seamless feature toggling, gradual rollouts, and A/B testing. This library helps teams control feature availability without redeploying code, improving agility and experimentation.
Features
- Easy-to-use API for managing feature flags
- Support for dynamic flag evaluation
- Actor-based and percentage-based targeting
- Integration-friendly with existing .NET applications
Get started with feature flagging today!
Usage
Register with the dependency injection container in your .NET application:
builder.Services.AddFlagCommander(options =>
{
// Currenntly supports in-memory storage (SqlLite), Postgres, MSSQL,
// MySQL, MongoDB and Redis as flag storage options
options.UseInMemoryRepository();
});
.....
// Optional FlagCommanderUI for management
builder.Services.AddFlagCommanderUi();
app.UseFlagCommanderUI(options =>
{
options
.WithAuthorizationRequired()
.WithRoutePrefix("flag-commander");
});
FlagCommander UI can be accessed by default at {YOUR_BASE_URL}/flag-commander, but it can be customized using the WithRoutePrefix
method. This page does not require authorization by default, but you can enable it using WithAuthorizationRequired()
.
Then in your code, you can inject IFlagCommander
to manage feature flags:
using FlagCommander;
public class FeatureDemo
{
private readonly IFlagCommander _flagCommander;
public FeatureDemo(IFlagCommander flagCommander)
{
_flagCommander = flagCommander;
}
public async Task RunAsync()
{
// Enable a feature flag
await _flagCommander.EnableAsync("NewFeature");
// Check if a feature is enabled
bool isEnabled = await _flagCommander.IsEnabledAsync("NewFeature");
if (isEnabled)
{
// Feature-specific logic
}
// Enable for a specific actor
var user = new User { Id = "user123" };
await _flagCommander.EnableAsync("BetaFeature", user, u => u.Id);
// Check for actor-based flag
bool isBetaEnabled = await _flagCommander.IsEnabledAsync("BetaFeature", user, u => u.Id);
// Disable a feature flag
await _flagCommander.DisableAsync("NewFeature");
}
private class User
{
public string Id { get; set; }
}
}
Contributions
Suggestions and contributions are welcome! Please open an issue or submit a pull request on GitHub.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- FlagCommander (>= 0.0.2)
- Microsoft.AspNetCore.Hosting (>= 2.3.0)
- Microsoft.AspNetCore.Mvc.TagHelpers (>= 2.3.0)
- Microsoft.AspNetCore.Razor (>= 2.3.0)
- Microsoft.AspNetCore.Routing (>= 2.3.0)
- Microsoft.AspNetCore.StaticFiles (>= 2.3.0)
- Microsoft.Extensions.Options (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.0.2 | 116 | 7/15/2025 |