Compartir a través de


Operaciones asincrónicas (ADO.NET)

Algunas operaciones de base de datos, como las ejecuciones de comandos, pueden tardar bastante tiempo en completarse. En estos casos, las aplicaciones de un único subproceso deben bloquear otras operaciones y esperar a que el comando termine antes de poder continuar sus propias operaciones. En contraposición, la posibilidad de asignar la operación cuya ejecución tiene una larga duración a un subproceso en segundo plano permite que el subproceso en primer plano permanezca activo durante toda la operación. En las aplicaciones Windows, por ejemplo, delegar aquellas operaciones cuya ejecución tiene una larga duración en subprocesos en segundo plano permite que el subproceso de interfaz de usuario permanezca alerta mientras se ejecuta la operación.

.NET Framework proporciona varios patrones de diseño asincrónicos estándar que pueden utilizar los programadores para aprovechar los subprocesos en segundo plano y liberar a los subprocesos de interfaz de usuario o de alta prioridad para que completen otras operaciones. ADO.NET admite estos mismos patrones de diseño en su clase SqlCommand. En concreto, los métodos BeginExecuteNonQuery, BeginExecuteReader y BeginExecuteXmlReader, acompañados de los métodos EndExecuteNonQuery, EndExecuteReader y EndExecuteXmlReader, proporcionan la compatibilidad asincrónica.

Estos métodos sólo se admiten en Microsoft Windows XP y Windows 2000, no en Windows 98 ni en Windows ME.

NotaNota

La programación asincrónica es una característica fundamental de .NET Framework, y ADO.NET aprovecha los patrones de diseño estándar.Para obtener más información acerca de las diferentes técnicas asincrónicas disponibles para los programadores, vea Llamar a métodos sincrónicos de forma asincrónica.

Aunque el uso de técnicas asincrónicas con las características de ADO.NET no agrega ninguna consideración especial, es probable que más programadores utilicen las características asincrónicas en ADO.NET que en otras áreas de .NET Framework. Es importante tener en cuenta las ventajas e inconvenientes de crear aplicaciones multithreading. Los ejemplos que a continuación se muestran en esta sección señalan varios aspectos importantes que deben tener en cuenta los programadores al compilar aplicaciones que incorporan funcionalidad multithreading.

En esta sección

  • Aplicaciones para Windows mediante devoluciones de llamada (ADO.NET)
    Proporciona un ejemplo en el que se muestra cómo ejecutar un comando asincrónico de forma segura y controlar correctamente la interacción con un formulario y su contenido desde un subproceso independiente.

  • Aplicaciones ASP.NET mediante controladores de espera (ADO.NET)
    Proporciona un ejemplo en el que se muestra cómo ejecutar varios comandos simultáneos desde una página de ASP.NET, mediante el uso de controladores de espera que administran la operación al completarse todos los comandos.

  • Sondeo en aplicaciones de consola (ADO.NET)
    Proporciona un ejemplo en el que se muestra el uso del sondeo para esperar a que se complete la ejecución de un comando asincrónico desde una aplicación de consola. Esta técnica también es válida en una biblioteca de clases u otra aplicación sin una interfaz de usuario.

Vea también

Conceptos

Llamar a métodos sincrónicos de forma asincrónica

Otros recursos

SQL Server y ADO.NET