Control.InvokeAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) |
Exécute le rappel asynchrone spécifié sur le thread propriétaire du handle du contrôle de manière asynchrone. |
| InvokeAsync(Action, CancellationToken) |
Appelle de façon asynchrone le rappel synchrone spécifié sur le thread propriétaire du handle du contrôle. |
| InvokeAsync<T>(Func<T>, CancellationToken) |
Appelle de façon asynchrone le rappel synchrone spécifié sur le thread propriétaire du handle du contrôle. |
| InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken) |
Exécute le rappel asynchrone spécifié sur le thread propriétaire du handle du contrôle. |
InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken)
- Source:
- Control.cs
- Source:
- Control.cs
- Source:
- Control.cs
Exécute le rappel asynchrone spécifié sur le thread propriétaire du handle du contrôle de manière asynchrone.
public System.Threading.Tasks.Task InvokeAsync(Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask> callback, System.Threading.CancellationToken cancellationToken = default);
member this.InvokeAsync : Func<System.Threading.CancellationToken, System.Threading.Tasks.ValueTask> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function InvokeAsync (callback As Func(Of CancellationToken, ValueTask), Optional cancellationToken As CancellationToken = Nothing) As Task
Paramètres
- callback
- Func<CancellationToken,ValueTask>
Fonction asynchrone à exécuter, qui prend un CancellationToken et retourne un ValueTask.
- cancellationToken
- CancellationToken
Jeton d’annulation.
Retours
Tâche qui représente l’opération d’appel asynchrone.
Exceptions
Le handle du contrôle n’est pas encore créé.
Remarques
Le rappel sera marshalé sur le thread propriétaire du handle du contrôle, puis attendu. Les exceptions sont propagées à l’appelant. Notez également que la tâche retournée n’est pas la tâche associée au rappel, mais qu’une tâche représentant l’opération de marshaling du rappel au thread d’interface utilisateur. Si vous devez passer un rappel retournant un Task rappel plutôt qu’un ValueTask, utilisez le ValueTask(Task)constructeur 's pour créer un nouveau ValueTask qui encapsule la tâche d’origine. Les CancellationToken deux sont prises en compte lors du marshaling du rappel sur le thread propriétaire du handle du contrôle et lors de l’exécution du rappel.
Si vous souhaitez exécuter de façon asynchrone un rappel synchrone, utilisez la surcharge InvokeAsync<T>(Func<T>, CancellationToken) ou la surcharge InvokeAsync(Action, CancellationToken).
S’applique à
InvokeAsync(Action, CancellationToken)
- Source:
- Control.cs
- Source:
- Control.cs
- Source:
- Control.cs
Appelle de façon asynchrone le rappel synchrone spécifié sur le thread propriétaire du handle du contrôle.
public System.Threading.Tasks.Task InvokeAsync(Action callback, System.Threading.CancellationToken cancellationToken = default);
member this.InvokeAsync : Action * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function InvokeAsync (callback As Action, Optional cancellationToken As CancellationToken = Nothing) As Task
Paramètres
- callback
- Action
Action synchrone à exécuter.
- cancellationToken
- CancellationToken
Jeton d’annulation.
Retours
Tâche qui représente l’opération d’appel asynchrone.
Remarques
Lorsque vous passez une CancellationToken méthode à cette méthode, la méthode retourne, mais le rappel est toujours exécuté. Le rappel s’exécute sur le thread d’interface utilisateur et bloque également le thread d’interface utilisateur.
InvokeAsync dans ce cas, il suffit de mettre en file d’attente le rappel à la fin de la file d’attente de messages et retourne immédiatement, mais dès que le rappel est exécuté, il bloque toujours le thread d’interface utilisateur pour le moment où il est en cours d’exécution. Pour cette raison, il est recommandé d’exécuter uniquement des opérations d’exécution de synchronisation courte dans le rappel, comme la mise à jour de la propriété d’un contrôle ou similaire.
Si vous souhaitez exécuter une opération de longue durée, envisagez plutôt d’utiliser des rappels asynchrones en vous assurant d’utiliser la surcharge InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) ou InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken).
S’applique à
InvokeAsync<T>(Func<T>, CancellationToken)
- Source:
- Control.cs
- Source:
- Control.cs
- Source:
- Control.cs
Appelle de façon asynchrone le rappel synchrone spécifié sur le thread propriétaire du handle du contrôle.
public System.Threading.Tasks.Task<T> InvokeAsync<T>(Func<T> callback, System.Threading.CancellationToken cancellationToken = default);
member this.InvokeAsync : Func<'T> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Function InvokeAsync(Of T) (callback As Func(Of T), Optional cancellationToken As CancellationToken = Nothing) As Task(Of T)
Paramètres de type
- T
Type de retour du rappel synchrone.
Paramètres
- callback
- Func<T>
Fonction synchrone à exécuter.
- cancellationToken
- CancellationToken
Jeton d’annulation.
Retours
Tâche représentant l’opération et contenant le résultat de la fonction.
Remarques
Lorsque vous passez une CancellationToken méthode à cette méthode, la méthode retourne, mais le rappel est toujours exécuté. Le rappel s’exécute sur le thread d’interface utilisateur et bloque également le thread d’interface utilisateur. InvokeAsync dans ce cas consiste simplement à mettre en file d’attente le rappel à la fin de la file d’attente de messages et retourne immédiatement, mais dès que le rappel est exécuté, il bloque toujours l’interface utilisateur pour le moment où elle est en cours d’exécution. Pour cette raison, il est recommandé d’exécuter uniquement des opérations d’exécution de synchronisation courte dans le rappel, comme la mise à jour de la propriété d’un contrôle ou similaire.
Si vous souhaitez exécuter une opération de longue durée, envisagez d’utiliser des rappels asynchrones à la place, que vous utilisez avec les surcharges décrites InvokeAsync ci-dessous.
Important: Notez également que si vous utilisez cette surcharge pour passer un rappel qui retourne une Task tâche que cette tâche n’est pas attendue, mais retourne immédiatement et a les caractéristiques d’un « engagement-and-forget ». Si vous souhaitez que la tâche que vous passez soit attendue, assurez-vous d’utiliser la surcharge InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) ou InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken).
S’applique à
InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken)
- Source:
- Control.cs
- Source:
- Control.cs
- Source:
- Control.cs
Exécute le rappel asynchrone spécifié sur le thread propriétaire du handle du contrôle.
public System.Threading.Tasks.Task<T> InvokeAsync<T>(Func<System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<T>> callback, System.Threading.CancellationToken cancellationToken = default);
member this.InvokeAsync : Func<System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<'T>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Function InvokeAsync(Of T) (callback As Func(Of CancellationToken, ValueTask(Of T)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of T)
Paramètres de type
- T
Type de retour du rappel asynchrone.
Paramètres
- callback
- Func<CancellationToken,ValueTask<T>>
Fonction asynchrone à exécuter, qui prend un CancellationToken et retourne un ValueTask<TResult>.
- cancellationToken
- CancellationToken
Jeton d’annulation.
Retours
Tâche représentant l’opération et contenant le résultat de la fonction de type T.
Exceptions
Le handle du contrôle n’est pas encore créé.
Remarques
Le rappel sera marshalé sur le thread propriétaire du handle du contrôle, puis attendu. Les exceptions sont propagées à l’appelant. Notez également que la tâche retournée n’est pas la tâche associée au rappel, mais qu’une tâche représentant l’opération de marshaling du rappel au thread d’interface utilisateur. Si vous devez passer un rappel retournant un Task<TResult> rappel plutôt qu’un ValueTask<TResult>, utilisez le ValueTask<TResult>(Task<TResult>)constructeur 's pour créer un nouveau ValueTask<TResult> qui encapsule la tâche d’origine. Les CancellationToken deux sont prises en compte lors du marshaling du rappel sur le thread propriétaire du handle du contrôle et lors de l’exécution du rappel.
Si vous souhaitez exécuter de façon asynchrone un rappel synchrone, utilisez la surcharge InvokeAsync<T>(Func<T>, CancellationToken) ou la surcharge InvokeAsync(Action, CancellationToken).