StopAsync с ExecuteAsync на BackgroundService - PullRequest
0 голосов
/ 22 октября 2018

Я использую размещенный сервис для выполнения какой-то длительной операции (проверка открытого соединения).

В примере на Реализация фоновых задач в микросервисах с помощью 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
    } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...