DbExecutionStrategy.ExecuteAsync 方法 (Func<Task>, CancellationToken)
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
重複執行指定的非同步作業,同時符合目前的重試原則。
命名空間: System.Data.Entity.Infrastructure
組件: EntityFramework (在 EntityFramework.dll 中)
語法
'宣告
Public Function ExecuteAsync ( _
operation As Func(Of Task), _
cancellationToken As CancellationToken _
) As Task
'用途
Dim instance As DbExecutionStrategy
Dim operation As Func(Of Task)
Dim cancellationToken As CancellationToken
Dim returnValue As Task
returnValue = instance.ExecuteAsync(operation, _
cancellationToken)
public Task ExecuteAsync(
Func<Task> operation,
CancellationToken cancellationToken
)
public:
virtual Task^ ExecuteAsync(
Func<Task^>^ operation,
CancellationToken cancellationToken
) sealed
abstract ExecuteAsync :
operation:Func<Task> *
cancellationToken:CancellationToken -> Task
override ExecuteAsync :
operation:Func<Task> *
cancellationToken:CancellationToken -> Task
public final function ExecuteAsync(
operation : Func<Task>,
cancellationToken : CancellationToken
) : Task
參數
- operation
類型:System.Func<Task>
會傳回已啟動工作的函式。
- cancellationToken
類型:System.Threading.CancellationToken
用於取消重試作業的取消語彙基元,但不會取消正在執行的作業或已成功完成的作業。
傳回值
類型:System.Threading.Tasks.Task
如果原始工作順利完成,就會執行到完成的工作 (不論是第一次或是在重試暫時性失敗後)。如果工作因為非暫時性錯誤而失敗,或是已達到重試限制,則傳回的工作會發生錯誤,並且必須觀察例外狀況。
Implements
IDbExecutionStrategy.ExecuteAsync(Func<Task>, CancellationToken)
例外狀況
例外狀況 | 條件 |
---|---|
RetryLimitExceededException | 若重試延遲策略決定不再重試作業。 |
InvalidOperationException | 如果偵測到某現有交易,但執行策略卻不支援它。 |
InvalidOperationException | 若此執行個體已用於執行作業。 |