CSharp IServiceScopeFactory
En factory som kan lage nye ServiceScopes, som igjen kan brukes til å hente ut servicer registrert i Startup.cs. Alle tjenester hentet fra dette scopet vil bli disposet idet man disposer selve scopet.
Eksempel:
using (var scope = _scopeFactory.CreateScope())
{
var eventRepository = scope.ServiceProvider.GetRequiredService<IEventRepository>();
var payloadRepository = scope.ServiceProvider.GetService<IPayloadRepository>();
}
Forskjell på GetService<>() og GetRequiredService<>()
GetService()
returns null
if a service does not exist, GetRequiredService()
throws an exception instead.
Kilde