BackgroundWorker.RunWorkerAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicia la ejecución de una operación en segundo plano.
Sobrecargas
RunWorkerAsync() |
Inicia la ejecución de una operación en segundo plano. |
RunWorkerAsync(Object) |
Inicia la ejecución de una operación en segundo plano. |
RunWorkerAsync()
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
Inicia la ejecución de una operación en segundo plano.
public:
void RunWorkerAsync();
public void RunWorkerAsync ();
member this.RunWorkerAsync : unit -> unit
Public Sub RunWorkerAsync ()
Excepciones
IsBusy es true
.
Ejemplos
En el ejemplo de código siguiente se muestra el uso del RunWorkerAsync método para iniciar una operación asincrónica. Forma parte de un ejemplo más grande descrito en Cómo: Descargar un archivo en segundo plano.
private void downloadButton_Click(object sender, EventArgs e)
{
// Start the download operation in the background.
this.backgroundWorker1.RunWorkerAsync();
// Disable the button for the duration of the download.
this.downloadButton.Enabled = false;
// Once you have started the background thread you
// can exit the handler and the application will
// wait until the RunWorkerCompleted event is raised.
// Or if you want to do something else in the main thread,
// such as update a progress bar, you can do so in a loop
// while checking IsBusy to see if the background task is
// still running.
while (this.backgroundWorker1.IsBusy)
{
progressBar1.Increment(1);
// Keep UI messages moving, so the form remains
// responsive during the asynchronous operation.
Application.DoEvents();
}
}
Private Sub downloadButton_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) _
Handles downloadButton.Click
' Start the download operation in the background.
Me.backgroundWorker1.RunWorkerAsync()
' Disable the button for the duration of the download.
Me.downloadButton.Enabled = False
' Once you have started the background thread you
' can exit the handler and the application will
' wait until the RunWorkerCompleted event is raised.
' If you want to do something else in the main thread,
' such as update a progress bar, you can do so in a loop
' while checking IsBusy to see if the background task is
' still running.
While Me.backgroundWorker1.IsBusy
progressBar1.Increment(1)
' Keep UI messages moving, so the form remains
' responsive during the asynchronous operation.
Application.DoEvents()
End While
End Sub
Comentarios
El RunWorkerAsync método envía una solicitud para iniciar la operación que se ejecuta de forma asincrónica. Cuando se realiza el servicio de la solicitud, se genera el DoWork evento , que a su vez inicia la ejecución de la operación en segundo plano.
Si la operación en segundo plano ya se está ejecutando, al llamar RunWorkerAsync de nuevo se generará una InvalidOperationExceptionexcepción .
Consulte también
- DoWork
- Cómo: Ejecutar una operación en segundo plano
- Procedimientos recomendados para el subprocesamiento administrado
- Procedimiento para descargar un archivo en segundo plano
Se aplica a
RunWorkerAsync(Object)
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
Inicia la ejecución de una operación en segundo plano.
public:
void RunWorkerAsync(System::Object ^ argument);
public void RunWorkerAsync (object argument);
public void RunWorkerAsync (object? argument);
member this.RunWorkerAsync : obj -> unit
Public Sub RunWorkerAsync (argument As Object)
Parámetros
- argument
- Object
Parámetro que utiliza la operación en segundo plano que se va a ejecutar en el controlador de eventos DoWork.
Excepciones
IsBusy es true
.
Ejemplos
En el ejemplo de código siguiente se muestra el uso del RunWorkerAsync método para iniciar una operación asincrónica. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase BackgroundWorker.
// Start the asynchronous operation.
backgroundWorker1->RunWorkerAsync( numberToCompute );
// Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute);
' Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute)
Comentarios
El RunWorkerAsync método envía una solicitud para iniciar la operación que se ejecuta de forma asincrónica. Cuando se realiza el servicio de la solicitud, se genera el DoWork evento , que a su vez inicia la ejecución de la operación en segundo plano.
Si la operación requiere un parámetro, puede proporcionarlo como parámetro argument
a RunWorkerAsync.
Si la operación en segundo plano ya se está ejecutando, al llamar RunWorkerAsync de nuevo se generará una InvalidOperationExceptionexcepción .
Consulte también
- DoWork
- Cómo: Ejecutar una operación en segundo plano
- Procedimiento para descargar un archivo en segundo plano
- Procedimientos recomendados para el subprocesamiento administrado