Idioma

SqlServerRetryingExecutionStrategy Classe

Definição

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

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
[System.Runtime.CompilerServices.Nullable(0)]
public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Herança
SqlServerRetryingExecutionStrategy
Atributos

Comentários

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

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 novas tentativas de banco de dados para obter mais informações e exemplos.

Construtores

Nome Descrição
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

Nome Descrição
DefaultMinDelayThrottling

O atraso de tempo mínimo padrão entre tentativas de limitação de erros.

Propriedades

Nome Descrição
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 fez com que a operação fosse repetida até agora.

(Herdado de ExecutionStrategy)
Logger

O agente para isso ExecutionStrategy.

(Herdado de ExecutionStrategy)
MaxRetryCount

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

(Herdado de ExecutionStrategy)
MaxRetryDelay

O atraso máximo entre novas tentativas.

(Herdado de ExecutionStrategy)
Random

Um gerador de número pseudo-aleatório que pode ser usado para variar o atraso entre novas tentativas.

(Herdado de ExecutionStrategy)
RetriesOnFailure

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

(Herdado de ExecutionStrategy)

Métodos

Nome Descrição
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 repetir 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

Nome Descrição
Execute(IExecutionStrategy, Action)

Executa a operação especificada.

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

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.

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

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>(IExecutionStrategy, Action<TState>, TState)

Executa a operação especificada.

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

Executa a operação especificada.

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<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, 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.

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, 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,Task<TResult>>)

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

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<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.

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

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

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Executa a operação especificada em uma transação. Permite verificar 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 verificar 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 verificar 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.

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 verificar 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 verificar 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 verificar 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 verificar se a transação foi revertida se ocorrerá um erro durante a confirmação.

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

Executa a operação assíncrona especificada em uma transação. Permite verificar 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 verificar 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 verificar 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 verificar 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 verificar 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 verificar 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.

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 verificar 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 verificar 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 verificar 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 verificar se a transação foi revertida se ocorrerá um erro durante a confirmação.

Aplica-se a