Domanda

Stavo usando operaio Sfondo a livello di controllo dell'utente ed è stato fine.But lavorando poi ho spinto l'operaio in una delle domanda Helper function.My è che funziona bene fino a quando cerco di annullare l'attività. Nella funzione DoWork c'è ciclo di chiamare il servizio web ogni volta e prima di chiamare il servizio che controlla la cancellazione in sospeso e, se sì, allora dovrebbe rompere il ciclo.

È stato utile?

Soluzione

1) Assicurarsi di aver impostato la proprietà WorkerSupportsCancellation sul BackgroundWorker per True.

2) Assicurarsi che Prima di gettare correttamente ogni riferimento servizio web. (Solo perché è quello che si dovrebbe fare in ogni caso)

Si può anche voler passo attraverso il BackgroundWorker e verificare che quando annullato, la proprietà in attesa di cancellazione viene impostata su true.

Se nessuna di queste cose aiuto, allora si potrebbe prendere in considerazione che mostra il codice per la creazione e iniziare la vostra BackgroundWorker, così come qualsiasi codice per gli eventi (DoWork, RunWorkerCompleted, ecc).

Modifica (questo ha rimosso quando Will eseguita una modifica)

Si può anche voler controllare questo collegamento .

Una cosa troppo importante per noi per ottenere da quel collegamento è che, anche quando si annulla, se il lavoratore è già attiva. (IE: elaborazione attraverso DoWork) può mancare il cancellationpending e continuare è un lavoro

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top