ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> メソッド

定義

指定した非同期操作を実行し、結果を返します。

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)

型パラメーター

TState

状態の型。

TResult

によってoperation返される のTask<TResult>結果の型。

パラメーター

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

TResultの開始タスクを返す関数。

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

トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。

state
TState

操作に渡される状態。

cancellationToken
CancellationToken

再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は取り消しません。

戻り値

Task<TResult>

元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されたタスクはエラーになり、例外を監視する必要があります。

例外

構成された再試行回数の後に操作が成功しなかった場合にスローされます。

適用対象