ExecutionStrategy.ExecuteAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)
指定した非同期操作を実行し、結果を返します。
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
型パラメーター
- TState
状態の型。
- TResult
によってoperation
返される のTask<TResult>結果の型。
パラメーター
- state
- TState
操作に渡される状態。
- operation
- Func<DbContext,TState,CancellationToken,Task<TResult>>
型 TResult
の開始タスクを返す関数。
- verifySucceeded
- Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>
例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
実装
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)
指定した非同期操作を実行し、結果を返します。
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), 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<ExecutionResult<TResult>>>
例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- state
- TState
操作に渡される状態。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
実装
例外
構成された再試行回数の後に操作が成功しなかった場合にスローされます。
適用対象
Entity Framework