Я видел пример кода, который извлекает службу из контекста через Autofac следующим образом:
services.AddSingleton<ITest, Test>(sp =>
{
var iLifetimeScope = sp.GetRequiredService<ILifetimeScope>();
using (var scope = iLifetimeScope.BeginLifetimeScope("AUTOFAC_SCOPE_NAME"))
{
var handler = scope.ResolveOptional(test.HandlerType) as ITestHandler;
}
});
Мне было интересно, есть ли какая-либо разница, если сделать это таким образом с помощью инструментов .NET Core DependencyInjection?
services.AddSingleton<ITest, Test>(sp =>
{
using (var scope = sp.CreateScope())
{
var handler = scope.ServiceProvider.GetService(test.HandlerType) as ITestHandler;
}
});
Эти два пути эквивалентны?