# Dependency Injection Frameworks

This section covers integrating LaunchDarkly SDKs with popular dependency injection frameworks.

## Framework Integration Guides

### .NET
- [Ninject](./ninject/index.md) - Integrate the .NET server-side SDK with Ninject dependency injection

## Why Use Dependency Injection

Dependency injection frameworks simplify SDK integration by:

- Managing SDK lifecycle as a singleton
- Centralizing configuration
- Enabling testability with mock implementations
- Reducing boilerplate initialization code

## Key Requirements

When integrating LaunchDarkly SDKs with dependency injection containers:

**MUST register SDK client as a singleton**

The SDK must be instantiated once per application lifetime to prevent duplicate connections and ensure proper initialization.

**MUST NOT block application startup**

Configure initialization timeouts and allow the application to start with fallback values if the SDK cannot connect immediately.

**SHOULD integrate with existing configuration management**

Load SDK keys and configuration from your existing secrets management system rather than hardcoding values.

To learn more about SDK initialization best practices, read *[Init and Config](../../sdk/preflight-checklist/init-and-config.md)*.

<div class="page-metadata"><table class="page-metadata-table" aria-label="Page metadata"><thead><tr><th scope="col">Last modified</th><th scope="col">Last reviewed</th><th scope="col">Review due</th></tr></thead><tbody><tr><td><time datetime="2026-04-29">2026-04-29</time></td><td></td><td></td></tr><tr><td>Last commit: <a href="https://github.com/launchdarkly-labs/ps-flag-book/commit/2e92061">2e92061</a></td><td></td><td></td></tr></tbody></table></div>