Condividi tramite


ExecutionStrategy Classe

Definizione

Classe di base per IExecutionStrategy le implementazioni.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Ereditarietà
ExecutionStrategy
Derivato
Implementazioni

Commenti

La durata del servizio è Scoped. Ciò significa che ogni DbContext istanza userà la propria istanza di questo servizio. L'implementazione può dipendere da altri servizi registrati per qualsiasi durata. L'implementazione non deve essere thread-safe.

Per altre informazioni ed esempi, vedere Resilienza delle connessioni e tentativi di database .

Costruttori

ExecutionStrategy(DbContext, Int32, TimeSpan)

Crea una nuova istanza di ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Crea una nuova istanza di ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Crea una nuova istanza di ExecutionStrategy.

Campi

DefaultMaxDelay

Il ritardo massimo di tempo predefinito tra i tentativi deve essere non negativo.

DefaultMaxRetryCount

Numero predefinito di tentativi.

Proprietà

Context

Contesto in cui verranno richiamate le operazioni.

Current

Ottiene o imposta la strategia attualmente in esecuzione. Tutte le chiamate annidate verranno gestite dalla strategia più esterna.

Dependencies

Dipendenze per questo servizio.

ExceptionsEncountered

Elenco di eccezioni che hanno causato il nuovo tentativo dell'operazione finora.

Logger

Logger per questo ExecutionStrategyoggetto .

MaxRetryCount

Il massimi numero di tentativi.

MaxRetryDelay

Ritardo massimo tra i tentativi.

Random

Generatore di numeri pseudo-casuali che può essere utilizzato per variare il ritardo tra i tentativi.

RetriesOnFailure

Indica se questo IExecutionStrategy potrebbe ripetere l'esecuzione dopo un errore.

Suspended
Obsoleti.

Indica se la strategia è sospesa. La strategia viene in genere sospesa durante l'esecuzione per evitare l'esecuzione ricorsiva da operazioni annidate.

Metodi

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

In modo ricorsivo ottiene InnerException da exception finché si tratta di un'eccezione creata da Entity Framework e chiama exceptionHandler su quella più interna.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato dopo il commit.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

GetNextDelay(Exception)

Determina se l'operazione deve essere ritentata e il ritardo prima del tentativo successivo.

OnFirstExecution()

Metodo chiamato prima della prima esecuzione dell'operazione

OnRetry()

Metodo chiamato prima di ripetere l'esecuzione dell'operazione

ShouldRetryOn(Exception)

Determina se l'eccezione specificata rappresenta un errore temporaneo che può essere compensato da un nuovo tentativo.

ShouldVerifySuccessOn(Exception)

Determina se l'eccezione specificata può essere generata dopo un'esecuzione riuscita.

Metodi di estensione

Execute(IExecutionStrategy, Action)

Esegue l'operazione specificata.

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

Esegue l'operazione specificata.

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

Esegue l'operazione specificata.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Esegue l'operazione asincrona specificata.

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

Esegue l'operazione asincrona specificata.

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

Esegue l'operazione asincrona specificata.

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

Esegue l'operazione asincrona specificata.

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

Esegue l'operazione asincrona specificata.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Esegue l'operazione specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato dopo il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

Esegue l'operazione specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata in una transazione e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

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

Esegue l'operazione asincrona specificata e restituisce il risultato. Consente di verificare se è stato eseguito il rollback della transazione se si verifica un errore durante il commit.

Si applica a