DbExecutionStrategy (Clase)
[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].
Proporciona la implementación base del mecanismo de reintentos para las operaciones y las condiciones transitorias no confiables que usan retrasos que aumentan exponencialmente entre los reintentos.
Jerarquía de herencia
System.Object
System.Data.Entity.Infrastructure.DbExecutionStrategy
System.Data.Entity.SqlServer.SqlAzureExecutionStrategy
Espacio de nombres: System.Data.Entity.Infrastructure
Ensamblado: EntityFramework (en EntityFramework.dll)
Sintaxis
'Declaración
Public MustInherit Class DbExecutionStrategy _
Implements IDbExecutionStrategy
'Uso
Dim instance As DbExecutionStrategy
public abstract class DbExecutionStrategy : IDbExecutionStrategy
public ref class DbExecutionStrategy abstract : IDbExecutionStrategy
[<AbstractClassAttribute>]
type DbExecutionStrategy =
class
interface IDbExecutionStrategy
end
public abstract class DbExecutionStrategy implements IDbExecutionStrategy
El tipo DbExecutionStrategy expone los siguientes miembros.
Constructores
Name | Descripción | |
---|---|---|
DbExecutionStrategy() | Inicializa una nueva instancia de la clase DbExecutionStrategy. | |
DbExecutionStrategy(Int32, TimeSpan) | Inicializa una nueva instancia de la clase DbExecutionStrategy con los límites especificados para el número de reintentos y el intervalo entre reintentos. |
Superior
Propiedades
Name | Descripción | |
---|---|---|
RetriesOnFailure | Obtiene un valor que indica si DbExecutionStrategy puede reintentar la ejecución tras un error. |
Superior
Métodos
Name | Descripción | |
---|---|---|
Equals | (Se hereda de Object). | |
Execute(Action) | Ejecuta de forma repetitiva la operación especificada mientras que cumple la directiva de reintentos actual. | |
Execute<TResult>(Func<TResult>) | Ejecuta de forma repetitiva la operación especificada mientras que cumple la directiva de reintentos actual. | |
ExecuteAsync(Func<Task>, CancellationToken) | Ejecuta de forma repetitiva la operación asincrónica especificada mientras cumple la directiva de reintentos actual. | |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) | Ejecuta repetidamente la operación asincrónica especificada mientras que cumple la directiva de reintentos actual. | |
Finalize | (Se hereda de Object). | |
GetHashCode | (Se hereda de Object). | |
GetNextDelay | Determina si la operación se debe reintentar y el retraso antes del siguiente intento. | |
GetType | (Se hereda de Object). | |
MemberwiseClone | (Se hereda de Object). | |
ShouldRetryOn | Determina si la excepción especificada representa un error transitorio que puede compensar con un reintento. | |
ToString | (Se hereda de Object). | |
UnwrapAndHandleException<T> | Obtiene de forma recursiva InnerException de exception siempre y cuando sea una EntityException, DbUpdateException o UpdateException y la pase a exceptionHandler. |
Superior
Comentarios
Se creará una instancia nueva cada vez que se ejecute una operación. Se emplea la fórmula siguiente para calcular el retraso después de retryCount intentos: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) retryCount comienza en 0. El factor aleatorio distribuye uniformemente los reintentos de varias operaciones simultáneas que fracasan simultáneamente.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.