server SDK
.NET feature flags
The .NET SDK evaluates rules in your process. The NuGet package is Featureflow, namespace Featureflow.Client. It targets .NET Framework 4.5, .NET Standard 1.3 and 2.0. Use a server key, and only on the server. Blazor WebAssembly must not receive it.
Set it up with your coding agent
Paste this into Claude Code, Cursor or any coding agent. It installs the .NET SDK, creates the client and evaluates your first flag.
Set up Featureflow with the .NET SDK in this project. Run `npx skills add featureflow/featureflow-skills --skill featureflow-setup -y` first, then follow the skill. Keep SDK keys in env vars.
Or set it up by hand
Install
dotnet add package FeatureflowInstall-Package FeatureflowInitialise
using Featureflow.Client;
var client = await FeatureflowClientFactory.CreateAsync("sdk-srv-env-YOUR_KEY");Evaluate a flag
var user = new User("user-123");
user.WithAttribute("tier", "gold");
if (client.Evaluate("new-checkout", user).IsOn())
{
// the new checkout
}Kill switch
The implicit failover is off. Pass a List<Feature> with FailoverVariant when you create the client if the safe side is not off. The docs use payments-kill-switch with failover on. Register the client as a singleton. A scoped registration builds a client per request.
The operational side is the kill switch. Turning the flag off does not require a redeploy.
Gradual rollout
Percentage rollouts bucket on the user id. Set BucketKey to split on a different value, such as an account id, while keeping the user id for targeting. Evaluate() with no user uses the id ANONYMOUS, and a percentage rollout then resolves the same way for every call. There is no Track method, and no JSON config reader.
See progressive rollout for the dashboard control. Release pipelines and approval workflows, if the change itself needs a review, are on the Business plan at $399 a month. That price is on the pricing page.
Targeting
WithAttribute does not chain and throws if the same key is set twice. Values may be string, DateTime, a number, or a list. WithSessionAttribute is evaluated but not stored on the user. Build a new User per request.
Frequently asked questions
Which NuGet package is the .NET SDK?
Featureflow. Install with dotnet add package Featureflow or Install-Package Featureflow. Code is in the Featureflow.Client namespace. The repository is github.com/featureflow/featureflow-dotnet-client.
Should I call Create or CreateAsync?
CreateAsync on ASP.NET Core and other async entry points. Create blocks the calling thread. If the first ruleset has not arrived within ConnectionTimeout (30 seconds by default), creation still succeeds and flags serve failover variants.
Does .NET support goal tracking?
No. The docs say IFeatureflowClient has no Track method, and there is no method to read a JSON payload. The compatibility table lists both as not yet supported.