Condividi tramite


ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Metodo

Definizione

Esegue l'operazione asincrona specificata e restituisce il risultato.

public virtual System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteInTransactionAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), 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<Boolean>>

Delegato che verifica se l'operazione è riuscita anche se è stata generata un'eccezione quando è stato eseguito il commit della transazione.

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