Я начал изучать хост Generi c и его использование в консольных приложениях. У меня есть простой Program.cs:
internal class Program
{
private static async Task Main(string[] args)
{
try
{
var builder = GetHostBuilder(args);
await builder.RunConsoleAsync();
}
catch (Exception e)
{
Console.WriteLine($"Program run into an exception: {e.Message}");
}
}
private static IHostBuilder GetHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
//registartion of various services...
services.AddHostedService<MyHostedService>();
});
}
}
MyHostedService
выглядит примерно так:
public class MyHostedService : BackgroundService
{
ILogger _logger;
public MyHostedService(ILogger<MyHostedService> logger)
{
_logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
_logger?.LogInformation("Starting MyHostedService");
//Some work...
}
}
Когда я запускаю свое приложение, я наблюдаю:

Журналы, поступающие с хоста, появляются в середине журналов MyHostedService
, что немного странно. Я что-то не так делаю?