Нам нужно создать два разных сервиса, которые реализуют один и тот же интерфейс, а также нам нужно инициализировать каждый с некоторым параметром. В настоящее время у нас есть следующий код, который работает только для одного ImplementingService объекта ISomeInterface:
services.AddTransient<ISomeInterface, ImplementingService>();
services.AddSingleton<ImplementingServiceFactory>(sp => (parameter) =>
{
var implementingService = implementingServiceDictionary.GetOrAdd(parameter, key =>
{
return sp.GetRequiredService<ISomeInterface>();
});
implementingService.InitService(parameter);
return implementingService;
});
Нам нужно реорганизовать этот код, чтобы он мог работать с ImplementingService и ImplementingService2?