Я использую размещенный сервис для выполнения какой-то длительной операции (проверка открытого соединения).
В примере на Реализация фоновых задач в микросервисах с помощью IHostedService и класса BackgroundService , там есть двастроки, которые регистрируют информацию, когда приложение закрывается (двойные кавычки в указанном коде)
Но в моем сценарии я никогда не смогу получить информацию второго журнала?Мне интересно, почему Microsoft выложила вторую строку журналирования, если она недостижима.Кто-нибудь может мне объяснить?
открытый класс GracePeriodManagerService: BackgroundService {
private readonly ILogger _logger;частное чтение только для OrderingBackgroundSettings _settings;
private readonly IEventBus _eventBus;
public GracePeriodManagerService(IOptions<OrderingBackgroundSettings>> settings,
IEventBus eventBus,
ILogger<GracePeriodManagerService> logger)
{
//Constructor’s parameters validations...
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
_logger.LogDebug($"GracePeriodManagerService is starting.");
stoppingToken.Register(() =>
_logger.LogDebug($" GracePeriod background task is stopping."));
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogDebug($"GracePeriod task doing background work.");
// This eShopOnContainers method is querying a database table
// and publishing events into the Event Bus (RabbitMS / ServiceBus)
CheckConfirmedGracePeriodOrders();
await Task.Delay(_settings.CheckUpdateTime, stoppingToken);
}
_logger.LogDebug($"GracePeriod background task is stopping.");
}
protected override async Task StopAsync (CancellationToken stoppingToken)
{
// Run your graceful clean-up actions
} }