Condividi tramite


IExecutionStrategy.ExecuteAsync Metodo

Definizione

Overload

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.

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.

public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Parametri di tipo

TState

Tipo dello stato.

TResult

Tipo di risultato dell'oggetto Task<TResult> restituito da operation.

Parametri

operation
Func<TState,CancellationToken,Task<TResult>>

Funzione che restituisce un'attività avviata di tipo TResult.

verifySucceeded
Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>

Delegato che verifica se l'operazione è riuscita anche se è stata generata un'eccezione.

state
TState

Stato che verrà passato all'operazione.

cancellationToken
CancellationToken

Token di annullamento usato per annullare l'operazione di ripetizione dei tentativi, ma non le operazioni già in esecuzione o già completate correttamente.

Restituisce

Task<TResult>

Attività che verrà eseguita fino al completamento se l'attività originale viene completata correttamente (la prima volta o dopo aver rieseguito errori temporanei). Se l'attività ha esito negativo con un errore non temporaneo o viene raggiunto il limite di tentativi, l'attività restituita verrà interrotta e l'eccezione deve essere osservata.

Eccezioni

Generata se l'operazione non è riuscita dopo il numero configurato di tentativi.

Si applica a

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.

public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Parametri di tipo

TState

Tipo dello stato.

TResult

Tipo di risultato dell'oggetto Task<TResult> restituito da operation.

Parametri

state
TState

Stato che verrà passato all'operazione.

operation
Func<DbContext,TState,CancellationToken,Task<TResult>>

Funzione che restituisce un'attività avviata di tipo TResult.

verifySucceeded
Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>

Delegato che verifica se l'operazione è riuscita anche se è stata generata un'eccezione.

cancellationToken
CancellationToken

Token di annullamento usato per annullare l'operazione di ripetizione dei tentativi, ma non le operazioni già in esecuzione o già completate correttamente.

Restituisce

Task<TResult>

Attività che verrà eseguita fino al completamento se l'attività originale viene completata correttamente (la prima volta o dopo aver rieseguito errori temporanei). Se l'attività ha esito negativo con un errore non temporaneo o viene raggiunto il limite di tentativi, l'attività restituita verrà interrotta e l'eccezione deve essere osservata.

Eccezioni

L'operazione non è riuscita dopo il numero di tentativi configurato.

Commenti

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

Si applica a