Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo BackgroundWorker.CancelAsync ()

 

Data di pubblicazione: novembre 2016

Richiede l'annullamento di un'operazione in background in sospeso.

Spazio dei nomi:   System.ComponentModel
Assembly:  System (in System.dll)

public void CancelAsync()

CancelAsync Invia una richiesta per terminare l'operazione in background in sospeso e imposta la CancellationPending proprietà true.

Quando si chiama CancelAsync, metodo di lavoro ha la possibilità di interrompere l'esecuzione e uscire. Il codice di lavoro è consigliabile controllare periodicamente la CancellationPending proprietà è impostata su true.

System_CAPS_cautionAttenzione

Tenere presente che il codice nel DoWork gestore dell'evento potrebbe terminare il proprio lavoro nel caso di una richiesta di annullamento e il ciclo di polling potrebbe impedire CancellationPending viene impostata su true. In questo caso, il Cancelled flag di System.ComponentModel.RunWorkerCompletedEventArgs nel RunWorkerCompleted gestore dell'evento viene impostato su true, anche se è stata effettuata una richiesta di annullamento. Questa situazione viene denominata una race condition e costituisce un problema comune nella programmazione multithreading. Per ulteriori informazioni sulla progettazione multithreading problemi, vedere Managed Threading Best Practices.

Esempio di codice riportato di seguito viene illustrato l'utilizzo di CancelAsync metodo per annullare un'operazione asincrona (in background"). Questo esempio di codice fa parte di un esempio più esaustivo fornito per la BackgroundWorker classe.

private void cancelAsyncButton_Click(System.Object sender, 
    System.EventArgs e)
{   
    // Cancel the asynchronous operation.
    this.backgroundWorker1.CancelAsync();

    // Disable the Cancel button.
    cancelAsyncButton.Enabled = false;
}

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 2.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: