Lingua

ExecutionStrategy Classe

Definizione

Classe di base per IExecutionStrategy le implementazioni.

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
Ereditarietà
ExecutionStrategy
Derivato
Attributi
Implementazioni

Commenti

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

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

Costruttori

Nome Descrizione
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

Nome Descrizione
DefaultMaxDelay

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

DefaultMaxRetryCount

Numero predefinito di tentativi.

Proprietà

Nome Descrizione
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 fino a questo momento.

Logger

Logger per l'oggetto ExecutionStrategy.

MaxRetryCount

Numero massimo di tentativi.

MaxRetryDelay

Ritardo massimo tra i tentativi.

Random

Un generatore di numeri pseudo-casuali che può essere usato per variare il ritardo tra i tentativi.

RetriesOnFailure

Indica se potrebbe IExecutionStrategy ritentare 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

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

Ottiene in modo ricorsivo InnerException da exception , purché si tratti 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

Nome Descrizione
Execute(IExecutionStrategy, Action)

Esegue l'operazione specificata.

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

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.

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

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

Esegue l'operazione specificata.

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

Esegue l'operazione specificata.

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

Esegue l'operazione asincrona specificata.

ExecuteAsync(IExecutionStrategy, Func<Task>)

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

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

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

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(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<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<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, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

Esegue l'operazione specificata in una transazione e restituisce il risultato dopo 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.

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

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<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(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<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<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, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

Esegue l'operazione asincrona specificata e restituisce il risultato.

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

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

Si applica a