Vous pouvez utiliser la surcharge du délégué d'usine pour AddSingleton
lors de l'enregistrement du service
public void ConfigureServices(IServiceCollection services) {
//...
services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect(GetRedisConnectionString()));
services.AddSingleton<IMyService>(serviceProvider =>
new MyService(new DbContext(optionsBuilder.Options), serviceProvider.GetRequiredService<IConnectionMultiplexer>())
);
//...
}
Le délégué transmet un IServiceProvider
qui peut être utilisé pour résoudre les services souhaités.