Share via


ExecutionStrategy Clase

Definición

Clase base para IExecutionStrategy implementaciones.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Herencia
ExecutionStrategy
Derivado
Implementaciones

Comentarios

La duración del servicio es Scoped. Esto significa que cada DbContext instancia usará su propia instancia de este servicio. La implementación puede depender de otros servicios registrados con cualquier duración. La implementación no necesita ser segura para subprocesos.

Consulte Resistencia de conexión y reintentos de base de datos para obtener más información y ejemplos.

Constructores

ExecutionStrategy(DbContext, Int32, TimeSpan)

Crea una nueva instancia de ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Crea una nueva instancia de ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Crea una nueva instancia de ExecutionStrategy.

Campos

DefaultMaxDelay

El retraso máximo de tiempo predeterminado entre reintentos debe ser no negativo.

DefaultMaxRetryCount

Número predeterminado de reintentos.

Propiedades

Context

Contexto en el que se invocarán las operaciones.

Current

Obtiene o establece la estrategia que se está ejecutando actualmente. La estrategia más externa controlará todas las llamadas anidadas.

Dependencies

Dependencias de este servicio.

ExceptionsEncountered

Lista de excepciones que provocaron que la operación se reintentase hasta ahora.

Logger

Registrador para este ExecutionStrategyobjeto .

MaxRetryCount

Número máximo de reintentos.

MaxRetryDelay

El retraso máximo entre los reintentos.

Random

Generador de números pseudoaleatorios que se puede usar para variar el retraso entre reintentos.

RetriesOnFailure

Indica si esto IExecutionStrategy podría reintentar la ejecución después de un error.

Suspended
Obsoletos.

Indica si la estrategia está suspendida. Normalmente, la estrategia se suspende mientras se ejecuta para evitar la ejecución recursiva de las operaciones anidadas.

Métodos

CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Obtiene De forma recursiva InnerException exception siempre que sea una excepción creada por Entity Framework y llame exceptionHandler a en el más interno.

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

Ejecuta la operación especificada y devuelve el resultado.

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Ejecuta la operación especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Ejecuta la operación especificada en una transacción y devuelve el resultado después de confirmarlo.

ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

GetNextDelay(Exception)

Determina si se debe reintentar la operación y el retraso antes del siguiente intento.

OnFirstExecution()

Método al que se llama antes de la primera ejecución de la operación

OnRetry()

Método al que se llama antes de volver a intentar la ejecución de la operación

ShouldRetryOn(Exception)

Determina si la excepción especificada representa un error transitorio que un reintento puede compensar.

ShouldVerifySuccessOn(Exception)

Determina si se podría producir la excepción especificada después de una ejecución correcta.

Métodos de extensión

Execute(IExecutionStrategy, Action)

Ejecuta la operación especificada.

Execute<TState>(IExecutionStrategy, TState, Action<TState>)

Ejecuta la operación especificada.

Execute<TState>(IExecutionStrategy, Action<TState>, TState)

Ejecuta la operación especificada.

Execute<TResult>(IExecutionStrategy, Func<TResult>)

Ejecuta la operación especificada y devuelve el resultado.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>)

Ejecuta la operación especificada y devuelve el resultado.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>)

Ejecuta la operación especificada y devuelve el resultado.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState)

Ejecuta la operación especificada y devuelve el resultado.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Obsoletos.

Ejecuta la operación especificada y devuelve el resultado.

ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)

Ejecuta la operación asincrónica especificada.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Ejecuta la operación asincrónica especificada.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

Ejecuta la operación asincrónica especificada.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)

Ejecuta la operación asincrónica especificada.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)

Ejecuta la operación asincrónica especificada.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)

Ejecuta la operación asincrónica especificada.

ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState, CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<ExecutionResult<TResult>>>, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Ejecuta la operación especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>)

Ejecuta la operación especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>)

Ejecuta la operación especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>)

Ejecuta la operación especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

Ejecuta la operación especificada en una transacción y devuelve el resultado después de confirmarlo.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel)

Ejecuta la operación especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel)

Ejecuta la operación especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel)

Ejecuta la operación especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel)

Ejecuta la operación especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Ejecuta la operación asincrónica especificada en una transacción y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Ejecuta la operación asincrónica especificada y devuelve el resultado. Permite comprobar si la transacción se ha revertido si se produce un error durante la confirmación.

Se aplica a