После этого ответа я хочу, чтобы IHostApplicationLifetime
в моем классе правильно отключился, когда метод StartAsync
закончился.
Но я не знаю, как это сделать получите applicationLifetime из консоли и введите его через встроенный контейнер do tnet core Io C:
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory())
.AddCommandLine(args)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
})
.ConfigureServices((hostContext, services) =>
{
services.Configure<ConnectionStringConfiguration>(hostContext.Configuration.GetSection("ConnectionStrings"));
services.AddTransient<ISmtpClient, MySmtpClient>();
services.AddTransient<IEmailService, EmailService>();
services.AddSingleton<IHostApplicationLifetime>(????); // What should I put here ????
services.AddHostedService<EInvoiceSenderService>();
})
.UseSerilog();
}
Спасибо!