Ajustar una aplicación asincrónica (C# y Visual Basic)
Se puede agregar precisión y flexibilidad a sus aplicaciones asincrónicas mediante los métodos y propiedades que el tipo Task hace disponibles. Los temas de esta sección muestran ejemplos que utilizan CancellationToken y métodos importantes de Task como Task.WhenAll y Task.WhenAny.
Mediante WhenAny y WhenAll, le resultará más fácil iniciar varias tareas y esperar su realización supervisando una tarea única.
WhenAny devuelve una tarea que se completa cuando cualquier tarea en una colección se completa.
Para obtener ejemplos que utilizan WhenAny, consulte Cancelar las tareas asincrónicas restantes cuando se completa una (C# y Visual Basic) y Iniciar varias tareas asincrónicas y procesarlas a medida que se completan (C# y Visual Basic).
WhenAll devuelve una tarea completa cuando todas las tareas de una colección se completan.
Para obtener más información y un ejemplo que utiliza WhenAll, consulte Cómo: Ampliar el tutorial de Async usando Task.WhenAll (C# y Visual Basic).
Esta sección contiene los siguientes ejemplos:
Cancelar una tarea asincrónica o una lista de tareas (C# y Visual Basic).
Cancelar tareas asincrónicas tras un período de tiempo (C# y Visual Basic)
Cancelar las tareas asincrónicas restantes cuando se completa una (C# y Visual Basic)
Iniciar varias tareas asincrónicas y procesarlas a medida que se completan (C# y Visual Basic)
Nota
Para ejecutar los ejemplos, debe tener Visual Studio 2012, Visual Studio 2013, Visual Studio Express 2012 para escritorio de Windows, Visual Studio Express 2013 para Windows, o .NET Framework 4.5 o 4.5.1 instalado en su equipo.
Los proyectos crean una interfaz de usuario que contiene un botón que inicia el proceso y un botón que lo cancela, como muestra la imagen siguiente. Los botones se denominan startButton y cancelButton.
Puede descargar los proyectos completos de Windows Presentation Foundation (WPF) de Ejemplo de Async: Ajustar la aplicación.
Vea también
Conceptos
Programación asincrónica con Async y Await (C# y Visual Basic)