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>

如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。

例外狀況

如果作業在設定的重試次數之後未成功,則會擲回 。

適用於