Compartilhar via


ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Método

Definição

Executa a operação assíncrona especificada e retorna o resultado.

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)

Parâmetros de tipo

TState

O tipo do estado.

TResult

O tipo de resultado do Task<TResult> retornado por operation.

Parâmetros

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

Uma função que retorna uma tarefa iniciada do tipo TResult.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

Um delegado que testa se a operação foi bem-sucedida mesmo que uma exceção tenha sido gerada quando a transação estava sendo confirmada.

state
TState

O estado que será passado para a operação.

cancellationToken
CancellationToken

Um token de cancelamento usado para cancelar a operação de repetição, mas não operações que já estão em versão de pré-lançamento ou que já foram concluídas com êxito.

Retornos

Task<TResult>

Uma tarefa que será executada até a conclusão se a tarefa original for concluída com êxito (na primeira vez ou depois de tentar novamente falhas transitórias). Se a tarefa falhar com um erro não transitório ou o limite de repetição for atingido, a tarefa retornada ficará com falha e a exceção deverá ser observada.

Exceções

Gerada se a operação não tiver sido bem-sucedida após o número configurado de repetições.

Aplica-se a