Tengo una aplicación de consola central .NET que usa un host genérico. Tengo una clase de trabajador (ImageFileWatcher) y una clase adicional (ThumbnailProcessor) con su interfaz (IThumbnailProcessor). Quiero usar la implementación de Autofac para la inyección de dependencia en lugar de la implementación habitual de DI. ¿Cómo puedo hacer esto? Aquí está mi código program.cs:
public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostContext,configBuilder) => { configBuilder.AddEnvironmentVariables(prefix: "ImageService_"); }) .ConfigureServices((hostContext, services) => { services.AddHostedService<ImageFileWatcher>(); services.AddSingleton<IThumbnailProcessor, ThumbnailProcessor>(); var config = hostContext.Configuration; services.AddOptions<ImageConfig>() .Configure(imageConfig => { imageConfig.CompressionLevel = 0.99M; }) .Bind(config.GetSection(nameof(ImageConfig))); services.AddOptions<ImageSizeConfig>(ImageSizeConfig.Thumbnail) .Configure(thumbnailSizeConfig => { thumbnailSizeConfig.FilePrefix = "thumb-"; }) .Bind(config.GetSection("ImageConfig:thumbnail")); services.Configure<ImageSizeConfig>(ImageSizeConfig.Medium, config.GetSection("ImageConfig:medium")); services.Configure<ImageSizeConfig>(ImageSizeConfig.Large, config.GetSection("ImageConfig:large")); }); }Autofac.Extensions.DependencyInjection.UseServiceProviderFactory(new AutofacServiceProviderFactory())ConfigureContainer<ContainerBuilder>(...) al proceso de construcción del host y defina sus dependencias