Share via


SqlServerRetryingExecutionStrategy Clase

Definición

Una IExecutionStrategy implementación para reintentar ejecuciones con errores en SQL Server.

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Herencia
SqlServerRetryingExecutionStrategy

Comentarios

Esta estrategia se adapta específicamente a SQL Server (incluida la Azure SQL). Está preconfigurado con números de error para los errores transitorios que se pueden reintentar. También se pueden proporcionar números de error adicionales en los que reintentar.

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

SqlServerRetryingExecutionStrategy(DbContext)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, IEnumerable<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan, ICollection<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, ICollection<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, IEnumerable<Int32>)

Crea una nueva instancia de SqlServerRetryingExecutionStrategy.

Campos

DefaultMinDelayThrottling

Retraso de tiempo mínimo predeterminado entre reintentos para errores de limitación.

Propiedades

AdditionalErrorNumbers

Números de error sql adicionales que se deben considerar transitorios.

Context

Contexto en el que se invocarán las operaciones.

(Heredado de ExecutionStrategy)
Dependencies

Dependencias de este servicio.

(Heredado de ExecutionStrategy)
ExceptionsEncountered

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

(Heredado de ExecutionStrategy)
Logger

Registrador para este ExecutionStrategyobjeto .

(Heredado de ExecutionStrategy)
MaxRetryCount

Número máximo de reintentos.

(Heredado de ExecutionStrategy)
MaxRetryDelay

El retraso máximo entre los reintentos.

(Heredado de ExecutionStrategy)
Random

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

(Heredado de ExecutionStrategy)
RetriesOnFailure

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

(Heredado de ExecutionStrategy)

Métodos

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

Ejecuta la operación especificada y devuelve el resultado.

(Heredado de ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Ejecuta la operación especificada y devuelve el resultado.

(Heredado de ExecutionStrategy)
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.

(Heredado de ExecutionStrategy)
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.

(Heredado de ExecutionStrategy)
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.

(Heredado de ExecutionStrategy)
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.

(Heredado de ExecutionStrategy)
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

(Heredado de ExecutionStrategy)
OnRetry()

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

(Heredado de ExecutionStrategy)
ShouldRetryOn(Exception)

Determina si la excepción especificada representa un error transitorio que un reintento puede compensar. Se pueden pasar excepciones adicionales al reintento en el constructor.

ShouldVerifySuccessOn(Exception)

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

(Heredado de ExecutionStrategy)

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