public class PeriodicCallingIdentificationService(CallService callService)
{
private Task? _executeTask;
private CancellationTokenSource? _stoppingCts;
private Modem? _modem;
public void StartExecuting(CancellationToken cancellationToken)
{
if (_modem is null) throw new InvalidOperationException("Can't start executing without modem");
_stoppingCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
_executeTask = Task.Run(async () =>
{
await DoWork(_stoppingCts.Token); // <-- here
_modem.Close();
_modem = null;
}, cancellationToken);
}
public class PeriodicCallingIdentificationService(CallService callService)
{
private Task? _executeTask;
private CancellationTokenSource? _stoppingCts;
private Modem? _modem;
public void StartExecuting(CancellationToken cancellationToken)
{
if (_modem is null) throw new InvalidOperationException("Can't start executing without modem");
_stoppingCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
_executeTask = Task.Run(async () =>
{
await DoWork(_stoppingCts.Token); // <-- here
_modem.Close();
_modem = null;
}, cancellationToken);
}