ExecutionStrategy Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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>, Func<TState,ExecutionResult<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, 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. |