Partager via


DbExecutionStrategy.ExecuteAsync<TResult>, méthode (Func<Task<TResult>>, 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 à plusieurs reprises 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
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Function ExecuteAsync(Of TResult) ( _
    operation As Func(Of Task(Of TResult)), _
    cancellationToken As CancellationToken _
) As Task(Of TResult)
'Utilisation
Dim instance As DbExecutionStrategy 
Dim operation As Func(Of Task(Of TResult))
Dim cancellationToken As CancellationToken 
Dim returnValue As Task(Of TResult)

returnValue = instance.ExecuteAsync(operation, _
    cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public Task<TResult> ExecuteAsync<TResult>(
    Func<Task<TResult>> operation,
    CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TResult>
virtual Task<TResult>^ ExecuteAsync(
    Func<Task<TResult>^>^ operation, 
    CancellationToken cancellationToken
) sealed
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ExecuteAsync : 
        operation:Func<Task<'TResult>> * 
        cancellationToken:CancellationToken -> Task<'TResult> 
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ExecuteAsync : 
        operation:Func<Task<'TResult>> * 
        cancellationToken:CancellationToken -> Task<'TResult> 
JScript does not support generic types and methods.

Paramètres de type

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

Paramètres

  • operation
    Type : System.Func<Task<TResult>>
    Fonction qui retourne une tâche démarrée de type TResult.
  • 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<TResult>
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<TResult>(Func<Task<TResult>>, 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.

Voir aussi

Référence

DbExecutionStrategy Classe

Surcharge ExecuteAsync

Espace de noms System.Data.Entity.Infrastructure