Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions snippets/server-core/dotnet/initialize.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,48 @@ await sharedStatsig.Initialize();

var statsig = Statsig.Shared();
```

### Dependency injection (v0.10.2+)

You can register Statsig with `IServiceCollection` for dependency injection:

```csharp
using Statsig;

var builder = WebApplication.CreateBuilder(args);

// Register Statsig as a singleton service
builder.Services.AddSingleton<Statsig.Statsig>(sp =>
{
var options = new StatsigOptionsBuilder()
.SetSpecsSyncIntervalMs(10000)
.Build();

var statsig = new Statsig.Statsig("server-secret-key", options);
statsig.Initialize().Wait();
return statsig;
});

var app = builder.Build();
```

Then inject Statsig into your controllers or services:

```csharp
public class MyController : ControllerBase
{
private readonly Statsig.Statsig _statsig;

public MyController(Statsig.Statsig statsig)
{
_statsig = statsig;
}

public IActionResult Index()
{
var user = new StatsigUser { UserID = "user-123" };
var gate = _statsig.CheckGate(user, "my_feature_gate");
// ...
}
}
```