Articles of backgroundworker

Copia di file con barra di avanzamento

Ho usato questo codice: using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.IO; namespace WindowsApplication1 { public partial class Form1 : Form { // Class to report progress private class UIProgress { public UIProgress(string name_, long bytes_, long maxbytes_) { name = name_; bytes = bytes_; maxbytes = maxbytes_; } public string name; public […]

VB.NET progressbar backgroundworker

Quando la mia applicazione si avvia, ed è appena stata aggiornata, sto facendo un aggiornamento del database locale (sqlite). È così: l’utente avvia la mia app e quindi avvio il processo di aggiornamento. Durante questo processo di aggiornamento sto mostrando un modulo con una barra di avanzamento continua. Questo modulo si chiude quando viene eseguito […]

Generare più thread per il lavoro quindi attendere fino a quando tutto è finito

voglio solo qualche consiglio su “best practice” per le attività multi-threading. ad esempio, abbiamo un’applicazione C # che all’avvio legge i dati da varie tabelle di “tipo” nel nostro database e memorizza le informazioni in una raccolta che passiamo intorno all’applicazione. questo ci impedisce di colpire il database ogni volta che questa informazione è richiesta. […]

Eccezioni non gestite in BackgroundWorker

Ho una piccola applicazione WinForms che utilizza un object BackgroundWorker per eseguire un’operazione di lunga durata. L’operazione in background genera eccezioni occasionali, in genere quando qualcuno ha un file aperto che viene ricreato. Indipendentemente dal fatto che il codice venga eseguito dall’IDE o non da .NET, viene visualizzata una finestra di errore che informa l’utente […]

Come “uccidere” lo sfondo lavoratore completamente?

Sto scrivendo un’applicazione per Windows che esegue ripetutamente una sequenza di azioni IO digitali. Questa sequenza di azioni inizia quando l’utente fa clic su un pulsante “START”, ed è fatto da un lavoratore in background in backgroundWorker1_DoWork (). Tuttavia, ci sono occasioni in cui ottengo il messaggio di errore “Questo backgroundworker è attualmente occupato …….”. […]

Sostituzione della libreria parallela dell’attività per BackgroundWorker?

La libreria parallela delle attività ha qualcosa che potrebbe essere considerato una sostituzione o un miglioramento rispetto alla class BackgroundWorker? Ho un’applicazione WinForms con un’interfaccia utente in stile wizard e svolge alcune attività di lunga durata. Voglio essere in grado di avere un’interfaccia utente retriggers con la barra di avanzamento standard e la possibilità di […]

Come fermare correttamente BackgroundWorker

Ho un modulo con 2 caselle combinate su di esso. E voglio riempire combobox2.DataSource base a combobox1.Text e combobox2.Text (presumo che l’utente abbia completato l’input in combobox1 e si trovi nel mezzo dell’input in combobox2 ). Quindi ho un gestore di eventi per combobox2 questo modo: private void combobox2_TextChanged(object sender, EventArgs e) { if (cmbDataSourceExtractor.IsBusy) […]

Invio di argomenti al lavoratore in background?

Diciamo che voglio inviare un parametro int a un lavoratore in background, come può essere realizzato? private void worker_DoWork(object sender, DoWorkEventArgs e) { } So quando questo è worker.RunWorkerAsync () ;, Non capisco come definire in worker_DoWork che dovrebbe avere un parametro int.

Async / await vs BackgroundWorker

Nei giorni scorsi ho testato le nuove funzionalità di .net 4.5 e c # 5. Mi piacciono le sue nuove funzionalità asincrone / attese. In precedenza avevo usato BackgroundWorker per gestire processi più lunghi in background con l’interfaccia utente retriggers. La mia domanda è: dopo avere queste nuove funzionalità, quando dovrei usare async / await […]

Come attendere la cancellazione di un BackgroundWorker?

Considera un metodo ipotetico di un object che fa cose per te: public class DoesStuff { BackgroundWorker _worker = new BackgroundWorker(); … public void CancelDoingStuff() { _worker.CancelAsync(); //todo: Figure out a way to wait for BackgroundWorker to be cancelled. } } Come si può aspettare che un BackgroundWorker sia fatto? In passato le persone hanno […]