Code: Select all
public static IServiceCollection SetupLoggerFactory(this IServiceCollection services)
{
services.AddSingleton(new LoggerFactory());
return services;
}
public static IServiceCollection SetupKafkaProducerForFoo(this IServiceCollection services, IConfiguration config)
{
services.AddSingleton(new ProducerService());
return services;
}
< /code>
Der letzte Dienst < /p>
public static IServiceCollection GetAppLogger(this IServiceCollection services, IServiceProvider serviceProvider)
{
services.AddSingleton
(new LoggerAdapter(
serviceProvider.GetService(), serviceProvider.GetService()));
return services;
}
Code: Select all
var builder = WebApplication.CreateBuilder(args);
builder.Services.SetupLoggerFactory();
builder.Services.SetupKafkaProducerForFoo(builder.Configuration);
builder.Services.GetAppLogger(missingArg);
tuevar serviceProvider = app.Services;
< /code>
builder.services.getApplogger(ServiceProvider);
Es macht einen Fehler aus: < /p>
Ausnahmebeingängige Ausnahme. System.invalidoperationException: Die Dienstsammlung kann nicht geändert werden, da sie nur schreibgeschützt ist. .Extensions.DependencyInjection.serviceCollection.System.Collections.generic.icollection