Estoy usando las nuevas declaraciones de nivel superior en .NET 6 para crear una aplicación de consola simple, pero no entiendo las ventajas/desventajas de usar el "Host genérico". ¿Puedes explicar?
Mi código con Generic Host:
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; Console.WriteLine("Hello, World!"); using var host = Host.CreateDefaultBuilder(args) .ConfigureServices((_, services) => { services.AddTransient<ITestInterface, TestClass>(); }) .Build(); Test(); Console.ReadKey(); void Test() { var testClass = host.Services.GetRequiredService<ITestInterface>(); testClass.TestMethod(); }versus
using Microsoft.Extensions.DependencyInjection; Console.WriteLine("Hello, World!"); var services = new ServiceCollection(); services.AddTransient<ITestInterface, TestClass>(); var servicesProvider = services.BuildServiceProvider(); Test(); Console.ReadKey(); void Test() { var testClass = servicesProvider.GetRequiredService<ITestInterface>(); testClass.TestMethod(); }