Totum.Flags.Extensions.DependencyInjection
2.0.5
dotnet add package Totum.Flags.Extensions.DependencyInjection --version 2.0.5
NuGet\Install-Package Totum.Flags.Extensions.DependencyInjection -Version 2.0.5
<PackageReference Include="Totum.Flags.Extensions.DependencyInjection" Version="2.0.5" />
<PackageVersion Include="Totum.Flags.Extensions.DependencyInjection" Version="2.0.5" />
<PackageReference Include="Totum.Flags.Extensions.DependencyInjection" />
paket add Totum.Flags.Extensions.DependencyInjection --version 2.0.5
#r "nuget: Totum.Flags.Extensions.DependencyInjection, 2.0.5"
#:package Totum.Flags.Extensions.DependencyInjection@2.0.5
#addin nuget:?package=Totum.Flags.Extensions.DependencyInjection&version=2.0.5
#tool nuget:?package=Totum.Flags.Extensions.DependencyInjection&version=2.0.5
Totum.Flags.Extensions.DependencyInjection
Microsoft.Extensions.DependencyInjection integration for Totum.Flags — built for ASP.NET Core.
Registers IFlagsClient as a singleton and calls InitAsync at host startup. Uses System.Text.Json via a project dependency.
Install
dotnet add package Totum.Flags.Extensions.DependencyInjection
This pulls in Totum.Flags, Totum.Flags.SystemTextJson, and the required Microsoft.Extensions.* abstractions.
ASP.NET Core
appsettings.json:
{
"FLAGS_PROXY_URL": "https://flags.example.com",
"FLAGS_API_KEY": "your-proxy-key"
}
Program.cs:
using Totum.Flags;
using Totum.Flags.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddTotumFlags(
builder.Configuration,
new[]
{
new FlagDeclaration("my-app-dark-mode", FlagType.Boolean, false),
new FlagDeclaration("my-app-checkout-flow", FlagType.String, "v1"),
});
var app = builder.Build();
app.MapGet("/", (IFlagsClient flags) =>
flags.GetBoolean("my-app-dark-mode", false));
app.Run();
No manual InitAsync call — a hosted service initializes flags when the host starts.
Inject IFlagsClient (or FlagsClient) anywhere in your app. GetBoolean, GetString, GetNumber, and GetObject are synchronous after startup.
Custom options
For TTL, cache file path, or a custom HttpClient:
builder.Services.AddTotumFlags(options =>
{
options.ProxyUrl = builder.Configuration["FLAGS_PROXY_URL"]!;
options.ApiKey = builder.Configuration["FLAGS_API_KEY"]!;
options.Ttl = TimeSpan.FromMinutes(5);
}, declarations);
More documentation
- Full SDK reference: Totum.Flags README
- Agent guide for AI tools:
AGENT.mdin this package - Source: github.com/inovus-ltd/totum-flags
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1)
- Totum.Flags.SystemTextJson (>= 2.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.