CSharp IServiceScopeFactory

Docs

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