# Dependency Injection (.NET) > Service-lifetimes (singleton, scoped, transient), serviceregistratie, IServiceProvider, best practices - 24 gespreksvragen - Mid-Level - [Gespreksvragen: .NET](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen.md) ## 1. Wat is het belangrijkste verschil tussen de lifetimes Singleton, Scoped en Transient? **Antwoord** Singleton maakt één enkele instantie voor de hele applicatielevensduur, Scoped maakt één instantie per HTTP-verzoek (of scope), en Transient maakt elke keer dat het wordt geïnjecteerd een nieuwe instantie. Deze lifetimes bepalen wanneer en hoe vaak de DI-container een service instantieert. Gebruik Singleton voor stateless gedeelde services, Scoped voor request-gebonden services (zoals DbContext) en Transient voor lichtgewicht stateless services. ## 2. Welke lifetime moet worden gebruikt om een Entity Framework Core DbContext te registreren? **Antwoord** DbContext moet worden geregistreerd met de Scoped lifetime omdat het niet thread-safe is en een trackingstatus van entiteiten bijhoudt. Elk HTTP-verzoek moet zijn eigen DbContext-instantie hebben om concurrentieproblemen te voorkomen. De registratie gebeurt met AddDbContext, dat automatisch de Scoped lifetime configureert. Singleton gebruiken zou concurrentiefouten veroorzaken en Transient zou bronnen verspillen door te veel instanties te maken. ## 3. Hoe registreer je een service met een interface en de implementatie ervan? **Antwoord** De registratie van een service gebeurt met de methoden AddSingleton, AddScoped of AddTransient, waarbij de interface als servicetype en de concrete klasse als implementatie wordt opgegeven. De syntaxis is services.Add{Lifetime}(). Deze aanpak respecteert het dependency inversion-principe en vergemakkelijkt het testen door het vervangen van implementaties mogelijk te maken. De DI-container lost de concrete implementatie automatisch op bij het injecteren van de interface. ## Nog 21 vragen beschikbaar - Wanneer verdient AddSingleton de voorkeur boven AddScoped? - Wat is de rol van IServiceProvider in het DI-systeem? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere .NET-sollicitatieonderwerpen - [C#-basisbeginselen](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-basics.md): 25 vragen, Junior - [LINQ & Delegates](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-linq-delegates.md): 20 vragen, Junior - [Essentials van de C#-taal](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-language-essentials.md): 15 vragen, Junior - [ASP.NET Core-grondbeginselen](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/aspnet-core-fundamentals.md): 18 vragen, Junior - [Levenscyclus van requests in ASP.NET Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/aspnet-core-request-lifecycle.md): 20 vragen, Junior - [Configuration & Settings](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/configuration-settings.md): 20 vragen, Junior - [Levenscyclus van de applicatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/application-lifecycle.md): 20 vragen, Junior - [Entity Framework Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/entity-framework-core.md): 25 vragen, Mid-Level - [Minimal APIs](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/minimal-apis.md): 18 vragen, Mid-Level - [Web API-ontwikkeling](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/web-api-development.md): 22 vragen, Mid-Level - [Async in ASP.NET Core](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/async-aspnet-core.md): 20 vragen, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/authentication-authorization.md): 18 vragen, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/httpclient-networking.md): 20 vragen, Mid-Level - [JSON-serialisatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/json-serialization.md): 20 vragen, Mid-Level - [Entity Framework Core gevorderd](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/ef-core-advanced.md): 25 vragen, Mid-Level - [Geavanceerde C#-functies](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/csharp-advanced-features.md): 20 vragen, Mid-Level - [Clean Architecture](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/clean-architecture.md): 20 vragen, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/logging-monitoring.md): 22 vragen, Mid-Level - [Unit Testing & xUnit](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/unit-testing-xunit.md): 20 vragen, Mid-Level - [Integratietests](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/integration-testing.md): 18 vragen, Mid-Level - [Docker & Containerization](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/docker-containerization.md): 16 vragen, Mid-Level - [NuGet-pakketbeheer](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/nuget-package-management.md): 16 vragen, Mid-Level - [Memory Management & GC](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/memory-management-gc.md): 22 vragen, Senior - [Reactief programmeren](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/reactive-programming.md): 24 vragen, Senior - [Async/await & Patterns](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/async-await-patterns.md): 26 vragen, Senior - [.NET Design Patterns](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/dotnet-design-patterns.md): 24 vragen, Senior - [Prestatieoptimalisatie](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Beveiliging & Best Practices](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/security-best-practices.md): 24 vragen, Senior - [SignalR & realtime](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/signalr-realtime.md): 22 vragen, Senior - [Microservices-architectuur](https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/microservices-architecture.md): 25 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/dotnet/sollicitatievragen/dependency-injection