Articles of backgroundworker

Como esperar por um BackgroundWorker para cancelar?

Considere um método hipotético de um object que faz coisas para você: public class DoesStuff { BackgroundWorker _worker = new BackgroundWorker(); … public void CancelDoingStuff() { _worker.CancelAsync(); //todo: Figure out a way to wait for BackgroundWorker to be cancelled. } } Como se pode esperar que um BackgroundWorker seja feito? No passado, as pessoas tentaram: […]

Evento BackgroundWorker RunWorkerCompleted

Meu aplicativo c # tem vários trabalhadores em segundo plano. Às vezes, um trabalhador em segundo plano triggers outro. Quando o primeiro trabalhador em segundo plano é concluído e o evento RunWorkerCompleted é acionado, em qual encadeamento esse evento é acionado, a IU ou o primeiro trabalhador em segundo plano a partir do qual o […]

Async / await vs BackgroundWorker

Nos últimos dias, testei os novos resources do .net 4.5 e c # 5. Eu gosto de seus novos resources async / await. Anteriormente, eu usava o BackgroundWorker para lidar com processos mais longos em segundo plano com a interface do usuário responsiva. Minha pergunta é: depois de ter esses novos resources legais, quando devo […]

Como atualizar GUI com backgroundworker?

Eu passei o dia inteiro tentando fazer meu aplicativo usar threads, mas sem sorte. Eu li muita documentação sobre isso e ainda recebo muitos erros, então espero que você possa me ajudar. Eu tenho um grande método demorado que chama o database e atualiza a GUI. Isso tem que acontecer o tempo todo (ou a […]

Como implementar corretamente um BackgroundWorker com atualizações ProgressBar?

-Atualizado – 14/10 também fez esta pergunta Para dar uma ideia clara do que está acontecendo e levando em conta os comentários e deste artigo aqui O que eu realmente quero fazer agora é invocar um novo formulário com uma barra de progresso e executar e animar enquanto meu thread de back ground executa meu […]

BackgroundWorker vs segmento de fundo

Eu tenho uma pergunta estilística sobre a escolha da implementação de thread em segundo plano que eu deveria usar em um aplicativo de formulário do windows. Atualmente eu tenho um BackgroundWorker em um formulário que tem um loop infinito (while(true)) . Neste loop eu uso WaitHandle.WaitAny para manter a thread cochilando até que algo de […]

Como usar um BackgroundWorker?

Eu sei que tem 3 methods. No meu programa eu tenho um método para enviar uma mensagem. Muitas vezes é tarde e o programa às vezes não envia a mensagem em resposta a um pressionamento de botão. Às vezes é tão tarde quanto 5 segundos do que eu esperaria e o programa congela. Eu quero […]

Como usar o WPF Background Worker

Eu sou um iniciante com WPF , no meu aplicativo eu preciso executar uma série de etapas de boot, estas levam 7-8 segundos para concluir durante o qual minha interface do usuário não responde. Para resolver isso, executo a boot em um thread separado: public void Initialization() { Thread initThread = new Thread(new ThreadStart(InitializationThread)); initThread.Start(); […]

O segmento de chamada não pode acessar esse object porque um segmento diferente possui

Meu código é como abaixo public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, “Country Standards”, MessageBoxButton.OK, MessageBoxImage.Error); } } /// /// Fills the page controls. /// private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = “Loading. Please wait…”; progress.IsIndeterminate = true; worker = new BackgroundWorker(); worker.DoWork += new System.ComponentModel.DoWorkEventHandler(worker_DoWork); worker.ProgressChanged […]

Como parar o BackgroundWorker no evento de encerramento do formulário?

Eu tenho um formulário que gera um BackgroundWorker, que deve atualizar a própria checkbox de texto do formulário (no thread principal), portanto, Invoke((Action) (…)); ligar. Se no HandleClosingEvent eu apenas faço bgWorker.CancelAsync() então eu recebo ObjectDisposedException na chamada Invoke(…) , compreensivelmente. Mas se eu me sentar no HandleClosingEvent e esperar que o bgWorker seja feito, […]