Compartilhar via


ExecutionStrategy Classe

Definição

A classe base para IExecutionStrategy implementações.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Herança
ExecutionStrategy
Derivado
Implementações

Comentários

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

ExecutionStrategy(DbContext, Int32, TimeSpan)

Cria uma nova instância de ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Cria uma nova instância de ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Cria uma nova instância de ExecutionStrategy.

Campos

DefaultMaxDelay

O atraso de tempo máximo padrão entre as repetições deve ser não negativo.

DefaultMaxRetryCount

O número padrão de tentativas de repetição.

Propriedades

Context

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

Current

Obtém ou define a estratégia em execução no momento. Todas as chamadas aninhadas serão tratadas pela estratégia mais externa.

Dependencies

Dependências para esse serviço.

ExceptionsEncountered

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

Logger

O agente para este ExecutionStrategy.

MaxRetryCount

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

MaxRetryDelay

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

Random

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

RetriesOnFailure

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

Suspended
Obsoleto.

Indica se a estratégia está suspensa. A estratégia normalmente é suspensa durante a execução para evitar a execução recursiva de operações aninhadas.

Métodos

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

Obtém Recursivamente InnerException desde exception que seja uma exceção criada pelo Entity Framework e chame exceptionHandler no mais interno.

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

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

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

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

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.

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.

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.

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.

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

OnRetry()

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

ShouldRetryOn(Exception)

Determina se a exceção especificada representa uma falha transitória que pode ser compensada por uma repetição.

ShouldVerifySuccessOn(Exception)

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

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