Lógica de reintento configurable en SqlClient

Se aplica a: .NET Framework .NET .NET Standard

Descargar ADO.NET

Una aplicación que se comunica con elementos que se ejecutan en la nube tiene que ser vulnerable a los errores transitorios que puedan producirse en este entorno. Estos errores suelen corregirse de forma automática. Si se repite la acción que desencadena un error tras un retraso adecuado, es probable que tenga éxito.

Nota

Esta característica está disponible a partir de la versión preliminar 1 de la versión 3.0.0 de Microsoft.Data.SqlClient.

Patrón Retry

Al intentar completar una operación a pesar de los errores transitorios, en lugar de hacer una excepción y permitir que un usuario decida la siguiente acción, es una decisión inteligente denominada patrón retry (patrón de reintento). Para obtener más información, consulte Patrón Retry.

Errores transitorios

Puede tener una infraestructura sólida y usar aplicaciones conocidas implementadas con las tecnologías más recientes para reducir el tiempo de inactividad del servicio. Sin embargo, reducir los errores a cero se hace imposible. Los errores transitorios son los errores que a veces se producen por motivos conocidos y que desaparecen tras un breve período de tiempo. Por ejemplo, cuando un cambio de equilibrio de carga está en curso en el lado del servidor, este puede causar brevemente que los servicios solicitados fallen o que se agote el tiempo de espera. Para obtener más información, consulte Errores transitorios.

Qué se debe hacer y qué no

Aunque el uso de un patrón retry mejora en gran medida la resistencia de una aplicación, podría afectar negativamente a una aplicación si se utiliza en circunstancias equivocadas. Antes de añadir una excepción a la lista de errores transitorios, deténgase un momento y pregúntese: "¿Se resolverá pronto?". No hay prisa. Estudie los motivos si no dispone de una buena respuesta para esa pregunta. Para obtener más información, consulte Solucionar problemas de conectividad y otros errores con Azure SQL Database y Azure SQL Managed Instance.

En esta sección

Lógica de reintento configurable en la introducción a SqlClient
Introduce una sección diferente de la lógica de reintento configurable.

Proveedores de lógica de reintento interno en SqlClient
Muestra cómo usar los proveedores de reintento predefinidos para aplicar la lógica de reintento en la base de datos.

API de núcleo de lógica de reintento configurables en SqlClient
Muestra cómo usar las API de núcleo para implementar una lógica de reintento personalizada.

Archivo de configuración de lógica de reintento configurable con SqlClient
Muestra cómo especificar los proveedores de lógica de reintento predeterminados a través de un archivo de configuración.

Vea también