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
Información general sobre la programación asincrónica
Explica el modelo de diseño asincrónico basado en IAsyncResult, que proporciona un modelo de programación flexible para tratar las operaciones asincrónicas.Llamar a métodos asincrónicos mediante IAsyncResult
Proporciona ejemplos de código que muestran las distintas maneras en que las aplicaciones pueden detectar el fin de una operación asincrónica.Programación asincrónica mediante delegados
Explica cómo llamar a un método sincrónico de una manera asincrónica.Programación multiproceso con el modelo asincrónico basado en eventos
Describe el Modelo asincrónico basado en evento, que proporciona un modelo de programación asincrónica que utiliza los eventos para la comunicación entre subprocesos.