DbExecutionStrategy.ExecuteAsync, méthode (Func<Task>, CancellationToken)
[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]
Exécute de façon répétitive l'opération asynchrone spécifiée lorsqu'elle satisfait la stratégie actuelle de nouvelle tentative.
Espace de noms : System.Data.Entity.Infrastructure
Assembly : EntityFramework (dans EntityFramework.dll)
Syntaxe
'Déclaration
Public Function ExecuteAsync ( _
operation As Func(Of Task), _
cancellationToken As CancellationToken _
) As Task
'Utilisation
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
Paramètres
- operation
Type : System.Func<Task>
Fonction qui retourne une tâche démarrée.
- cancellationToken
Type : System.Threading.CancellationToken
Jeton d'annulation utilisé pour annuler la nouvelle tentative, mais pas les opérations qui sont déjà en cours ou terminées.
Valeur de retour
Type : System.Threading.Tasks.Task
Tâche qui s'exécute jusqu'à achèvement si la tâche d'origine se termine correctement (soit la première fois ou après plusieurs échecs temporaires).En cas de échec de la tâche avec une erreur non temporaires ou de nombre maximal de tentatives atteint, la tâche retournée génère une erreur et l'exception doit être observée.
Implémentations
IDbExecutionStrategy.ExecuteAsync(Func<Task>, CancellationToken)
Exceptions
Exception | Condition |
---|---|
RetryLimitExceededException | Si la stratégie de délai entre deux tentatives détermine que l'opération ne doit plus faire l'objet d'une nouvelle tentative. |
InvalidOperationException | Si une transaction existante est détectée et que la stratégie d'exécution ne la prend pas en charge. |
InvalidOperationException | Si cette instance a déjà été utilisée pour exécuter une opération. |