Fix region bug

This commit is contained in:
Dan Clark
2025-02-12 20:59:38 +00:00
parent 92ea28d647
commit 5740e03ba1
24 changed files with 277 additions and 183 deletions
+5 -5
View File
@@ -3,11 +3,11 @@
namespace Toolkit.Foundation;
public class ScopedServiceFactory<TScopedService>(IServiceScopeFactory serviceScopeFactory,
ICache<TScopedService, IServiceScope> cache) :
ICache<TScopedService, IServiceProvider> cache) :
IScopedServiceFactory<TScopedService>
where TScopedService : notnull
{
public (IServiceScope, TScopedService) Create(params object?[] parameters)
public (IServiceProvider, TScopedService) Create(params object?[] parameters)
{
if (serviceScopeFactory.CreateScope() is IServiceScope serviceScope)
{
@@ -18,14 +18,14 @@ public class ScopedServiceFactory<TScopedService>(IServiceScopeFactory serviceSc
if (factory.Create<TScopedService>(parameters) is TScopedService service)
{
serviceProvider.GetRequiredService<IScopedServiceDescriptor<TScopedService>>().Set(service);
cache.Add(service, serviceScope);
cache.Add(service, serviceProvider);
foreach (IInitializationScoped initializationScoped in serviceScope.ServiceProvider.GetServices<IInitializationScoped>())
foreach (IInitializationScoped initializationScoped in serviceProvider.GetServices<IInitializationScoped>())
{
initializationScoped.Initialize();
}
return (serviceScope, service);
return (serviceProvider, service);
}
}
}