Idioma

ExecutionStrategy Classe

Definição

A classe base para IExecutionStrategy implementações.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Herança
ExecutionStrategy
Derivado
Atributos
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 novas tentativas de banco de dados para obter mais informações e exemplos.

Construtores

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

Nome Descrição
DefaultMaxDelay

O atraso de tempo máximo padrão entre novas tentativas deve ser nãonegativo.

DefaultMaxRetryCount

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

Propriedades

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

Logger

O agente para isso ExecutionStrategy.

MaxRetryCount

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

MaxRetryDelay

O atraso máximo entre novas tentativas.

Random

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

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 é suspender durante a execução para evitar a execução recursiva de operações aninhadas.

Métodos

Nome Descrição
CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Obtém Recursivamente InnerException desde exception que seja uma exceção criada pelo Entity Framework e chamadas 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

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