<PackageReference Include="System.ComponentModel.EventBasedAsync" Version="4.3.0" />

System.ComponentModel.BackgroundWorker

public class BackgroundWorker : IDisposable
public bool CancellationPending { get; }

public bool IsBusy { get; }

public bool WorkerReportsProgress { get; set; }

public bool WorkerSupportsCancellation { get; set; }

public void CancelAsync()

public void Dispose()

protected virtual void Dispose(bool disposing)

protected virtual void OnDoWork(DoWorkEventArgs e)

protected virtual void OnProgressChanged(ProgressChangedEventArgs e)

public void ReportProgress(int percentProgress)

public void ReportProgress(int percentProgress, object userState)

public void RunWorkerAsync()

public void RunWorkerAsync(object argument)