Partager via


IExecutionStrategy.ExecuteAsync Méthode

Définition

Surcharges

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Exécute l’opération asynchrone spécifiée et retourne le résultat.

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Exécute l’opération asynchrone spécifiée et retourne le résultat.

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Exécute l’opération asynchrone spécifiée et retourne le résultat.

public 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>
Public 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)

Paramètres de type

TState

Type de l’état.

TResult

Type de résultat du Task<TResult> retourné par operation.

Paramètres

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

Fonction qui retourne une tâche démarrée de type TResult.

verifySucceeded
Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>

Délégué qui teste si l’opération a réussi même si une exception a été levée.

state
TState

État qui sera passé à l’opération.

cancellationToken
CancellationToken

Jeton d’annulation utilisé pour annuler l’opération de nouvelle tentative, mais pas les opérations qui sont déjà en cours ou qui sont déjà terminées avec succès.

Retours

Task<TResult>

Tâche qui s’exécute jusqu’à son terme si la tâche d’origine se termine correctement (soit la première fois, soit après une nouvelle tentative d’échecs temporaires). Si la tâche échoue avec une erreur non temporaire ou si la limite de nouvelles tentatives est atteinte, la tâche retournée devient défaillante et l’exception doit être observée.

Exceptions

Levée si l’opération n’a pas réussi après le nombre configuré de nouvelles tentatives.

S’applique à

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Exécute l’opération asynchrone spécifiée et retourne le résultat.

public 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 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>
Public 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)

Paramètres de type

TState

Type de l’état.

TResult

Type de résultat du Task<TResult> retourné par operation.

Paramètres

state
TState

État qui sera passé à l’opération.

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

Fonction qui retourne une tâche démarrée de type TResult.

verifySucceeded
Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>

Délégué qui teste si l’opération a réussi même si une exception a été levée.

cancellationToken
CancellationToken

Jeton d’annulation utilisé pour annuler l’opération de nouvelle tentative, mais pas les opérations qui sont déjà en cours ou qui sont déjà terminées avec succès.

Retours

Task<TResult>

Tâche qui s’exécute jusqu’à son terme si la tâche d’origine se termine correctement (soit la première fois, soit après une nouvelle tentative d’échecs temporaires). Si la tâche échoue avec une erreur non temporaire ou si la limite de nouvelles tentatives est atteinte, la tâche retournée devient défaillante et l’exception doit être observée.

Exceptions

L’opération n’a pas réussi après le nombre configuré de nouvelles tentatives.

Remarques

Pour plus d’informations et d’exemples, consultez Résilience des connexions et nouvelles tentatives de base de données .

S’applique à