Partilhar via


SqlServerRetryingExecutionStrategy Classe

Definição

Uma IExecutionStrategy implementação para repetir execuções com falha no SQL Server.

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Herança
SqlServerRetryingExecutionStrategy

Comentários

Essa estratégia é especificamente adaptada a SQL Server (incluindo SQL do Azure). Ele é pré-configurado com números de erro para erros transitórios que podem ser repetidos. Números de erro adicionais para tentar novamente também podem ser fornecidos.

O tempo de vida do serviço é Scoped. Isso significa que cada DbContext instância usará sua própria instância desse serviço. A implementação pode depender de outros serviços registrados com qualquer tempo de vida. A implementação não precisa ser thread-safe.

Consulte Resiliência de conexão e repetições de banco de dados para obter mais informações e exemplos.

Construtores

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

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

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

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

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

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

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

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

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

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

Cria uma nova instância de SqlServerRetryingExecutionStrategy.

Campos

DefaultMinDelayThrottling

O atraso de tempo mínimo padrão entre repetições para erros de limitação.

Propriedades

AdditionalErrorNumbers

Números de erro sql adicionais que devem ser considerados transitórios.

Context

O contexto no qual as operações serão invocadas.

(Herdado de ExecutionStrategy)
Dependencies

Dependências para esse serviço.

(Herdado de ExecutionStrategy)
ExceptionsEncountered

A lista de exceções que fizeram com que a operação fosse repetida até agora.

(Herdado de ExecutionStrategy)
Logger

O agente para este ExecutionStrategy.

(Herdado de ExecutionStrategy)
MaxRetryCount

O número máximo de tentativas de repetição.

(Herdado de ExecutionStrategy)
MaxRetryDelay

O atraso máximo entre as repetições.

(Herdado de ExecutionStrategy)
Random

Um gerador de números pseudo-aleatórios que pode ser usado para variar o atraso entre repetições.

(Herdado de ExecutionStrategy)
RetriesOnFailure

Indica se isso IExecutionStrategy pode repetir a execução após uma falha.

(Herdado de ExecutionStrategy)

Métodos

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

(Herdado de ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Executa a operação especificada em uma transação e retorna o resultado após confirmá-la.

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

Executa a operação assíncrona especificada e retorna o resultado.

(Herdado de ExecutionStrategy)
GetNextDelay(Exception)

Determina se a operação deve ser repetida e o atraso antes da próxima tentativa.

OnFirstExecution()

Método chamado antes da primeira execução da operação

(Herdado de ExecutionStrategy)
OnRetry()

Método chamado antes de tentar novamente a execução da operação

(Herdado de ExecutionStrategy)
ShouldRetryOn(Exception)

Determina se a exceção especificada representa uma falha transitória que pode ser compensada por uma repetição. Exceções adicionais para tentar novamente podem ser passadas para o construtor.

ShouldVerifySuccessOn(Exception)

Determina se a exceção especificada pode ser gerada após uma execução bem-sucedida.

(Herdado de ExecutionStrategy)

Métodos de Extensão

Execute(IExecutionStrategy, Action)

Executa a operação especificada.

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

Executa a operação especificada.

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

Executa a operação especificada.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação especificada e retorna o resultado.

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

Executa a operação assíncrona especificada.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Executa a operação assíncrona especificada.

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

Executa a operação assíncrona especificada.

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

Executa a operação assíncrona especificada.

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

Executa a operação assíncrona especificada.

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

Executa a operação assíncrona especificada.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Executa a operação especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação e retorna o resultado após confirmá-la.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

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

Executa a operação assíncrona especificada e retorna o resultado. Permite marcar se a transação foi revertida se ocorrer um erro durante a confirmação.

Aplica-se a