Отмена операции в службе ExecuteAsyn c - PullRequest
0 голосов
/ 19 марта 2020

Я делаю какой-то модульный тест и хочу передать значение для отмены BackgroundService, код фоновой службы выглядит так:

 public override async Task StartAsync(CancellationToken cancellationToken)
 {
    await base.StartAsync(cancellationToken);
 }

 protected override async Task ExecuteAsync(CancellationToken stoppingToken)
 {
    while (!stoppingToken.IsCancellationRequested)
    {
      // do something
    }
    await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
}

и внутри моего модульного теста я делаю это :

 var cancellation = new CancellationTokenSource(50);
 cancellation.CancelAfter(50);
 _service.StartAsync(cancellation.Token).GetAwaiter();

Но токен отмены не попадает в ExecuteAsyn c только что получен в StartAsyn c piece

...