Your BackgroundService Has 2 Lifetimes, but Only One CancellationToken
BackgroundService gives every worker the same deceptively simple entry point: protected override Task ExecuteAsync(CancellationToken stopToken) It encourages an equally simple implementation. Pass st







