Compartir a través de


Modelos de diseño para la programación asincrónica

Actualización: noviembre 2007

Las operaciones asincrónicas normalmente se utilizan para realizar tareas que podrían tardar mucho tiempo en finalizar, como abrir archivos grandes, conectar con equipos remotos o efectuar consultas en una base de datos. Una operación asincrónica se ejecuta en un subproceso independiente del subproceso de aplicación principal. Cuando una aplicación llama a métodos para que realicen una operación de forma asincrónica, la aplicación puede seguir ejecutándose mientras el método asincrónico efectúa su tarea.

.NET Framework proporciona dos modelos de diseño para las operaciones asincrónicas:

  • Operaciones asincrónicas que utilizan los objetos IAsyncResult.

  • Operaciones asincrónicas que utilizan eventos.

El modelo de diseño IAsyncResult permite usar diversos modelos de programación, pero es más complejo de aprender y proporciona una flexibilidad que no necesita la mayoría de las aplicaciones. Cuando sea posible, los diseñadores de bibliotecas de clases deberían implementar métodos asincrónicos usando el modelo orientado a eventos. En algunos casos, el diseñador de la biblioteca también debería implementar el modelo basado en IAsyncResult.

Para consultar la documentación sobre operaciones asincrónicas que utilizan eventos, vea Información general sobre el modelo asincrónico basado en eventos.

La programación asincrónica es una característica compatible con muchas áreas de .NET Framework, entre las que se incluye:

  • Entrada y salida de archivos, de secuencias o de socket.

  • Funciones de red.

  • Canales y servidores proxy de acceso remoto (HTTP, TCP).

  • Servicios Web XML creados mediante ASP.NET.

  • Formularios Web de ASP.NET

  • Message Queuing utilizando la clase MessageQueue.

En esta sección

Vea también

Conceptos

E/S de archivos asincrónica

Referencia

AsyncCallback

IAsyncResult

Delegate

AsyncOperationManager

BackgroundWorker