共用方式為


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

若此執行個體已用於執行作業。

請參閱

參考

DbExecutionStrategy 類別

ExecuteAsync 多載

System.Data.Entity.Infrastructure 命名空間