Control.InvokeAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) |
Hiermee wordt de opgegeven asynchrone callback uitgevoerd op de thread die eigenaar is van de handle asynchroon van het besturingselement. |
| InvokeAsync(Action, CancellationToken) |
Roept de opgegeven synchrone callback asynchroon aan op de thread die eigenaar is van de ingang van het besturingselement. |
| InvokeAsync<T>(Func<T>, CancellationToken) |
Roept de opgegeven synchrone callback asynchroon aan op de thread die eigenaar is van de ingang van het besturingselement. |
| InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken) |
Hiermee wordt de opgegeven asynchrone callback uitgevoerd op de thread die eigenaar is van de ingang van het besturingselement. |
InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken)
- Bron:
- Control.cs
- Bron:
- Control.cs
- Bron:
- Control.cs
Hiermee wordt de opgegeven asynchrone callback uitgevoerd op de thread die eigenaar is van de handle asynchroon van het besturingselement.
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
Parameters
- callback
- Func<CancellationToken,ValueTask>
De asynchrone functie die moet worden uitgevoerd, die een CancellationToken en retourneert.ValueTask
- cancellationToken
- CancellationToken
Het annuleringstoken.
Retouren
Een taak die de asynchrone aanroepbewerking vertegenwoordigt.
Uitzonderingen
De ingang van het besturingselement is nog niet gemaakt.
Opmerkingen
De callback wordt ge marshalld naar de thread die eigenaar is van de ingang van het besturingselement en wacht vervolgens op. Uitzonderingen worden weer doorgegeven aan de aanroeper. Houd er ook rekening mee dat de geretourneerde taak niet de taak is die is gekoppeld aan de callback, maar een taak die de werking vertegenwoordigt van het marshallen van de callback naar de UI-thread. Als u een callback moet doorgeven die een Task in plaats van een ValueTaskretour retourneert, gebruikt u de constructor van de ValueTask(Task)'s om een nieuwe ValueTask te maken die de oorspronkelijke taak verpakt. Bij CancellationToken het marshallen van de callback naar de thread die eigenaar is van de ingang van het besturingselement en bij het uitvoeren van de callback, wordt rekening gehouden met beide.
Als u asynchroon een synchrone callback wilt uitvoeren, gebruikt u de overbelasting of de overbelasting InvokeAsync<T>(Func<T>, CancellationToken)InvokeAsync(Action, CancellationToken).
Van toepassing op
InvokeAsync(Action, CancellationToken)
- Bron:
- Control.cs
- Bron:
- Control.cs
- Bron:
- Control.cs
Roept de opgegeven synchrone callback asynchroon aan op de thread die eigenaar is van de ingang van het besturingselement.
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
Parameters
- callback
- Action
De synchrone actie die moet worden uitgevoerd.
- cancellationToken
- CancellationToken
Het annuleringstoken.
Retouren
Een taak die de asynchrone aanroepbewerking vertegenwoordigt.
Opmerkingen
Wanneer u een CancellationToken aan deze methode doorgeeft, wordt de methode geretourneerd, maar wordt de callback nog steeds uitgevoerd. De callback wordt uitgevoerd op de UI-thread en blokkeert ook de UI-thread.
InvokeAsync In dit geval wordt de callback naar het einde van de berichtenwachtrij in de wachtrij geplaatst en onmiddellijk geretourneerd, maar zodra de callback wordt uitgevoerd, wordt de UI-thread nog steeds geblokkeerd voor de tijd dat deze wordt uitgevoerd. Daarom is het raadzaam om alleen korte synchronisatiebewerkingen uit te voeren in de callback, zoals het bijwerken van de eigenschap van een besturingselement of vergelijkbaar.
Als u een langlopende bewerking wilt uitvoeren, kunt u in plaats daarvan asynchrone callbacks gebruiken door ervoor te zorgen dat u de overbelasting InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) of InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken).
Van toepassing op
InvokeAsync<T>(Func<T>, CancellationToken)
- Bron:
- Control.cs
- Bron:
- Control.cs
- Bron:
- Control.cs
Roept de opgegeven synchrone callback asynchroon aan op de thread die eigenaar is van de ingang van het besturingselement.
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)
Type parameters
- T
Het retourtype van de synchrone callback.
Parameters
- callback
- Func<T>
De synchrone functie die moet worden uitgevoerd.
- cancellationToken
- CancellationToken
Het annuleringstoken.
Retouren
Een taak die de bewerking vertegenwoordigt en het resultaat van de functie bevat.
Opmerkingen
Wanneer u een CancellationToken aan deze methode doorgeeft, wordt de methode geretourneerd, maar wordt de callback nog steeds uitgevoerd. De callback wordt uitgevoerd op de UI-thread en blokkeert ook de UI-thread. InvokeAsync in dit geval maakt gewoon een wachtrij van de callback naar het einde van de berichtenwachtrij en wordt onmiddellijk geretourneerd, maar zodra de callback wordt uitgevoerd, wordt de gebruikersinterface nog steeds geblokkeerd voor de tijd dat deze wordt uitgevoerd. Daarom is het raadzaam om alleen korte synchronisatiebewerkingen uit te voeren in de callback, zoals het bijwerken van de eigenschap van een besturingselement of vergelijkbaar.
Als u een langlopende bewerking wilt uitvoeren, kunt u in plaats daarvan asynchrone callbacks gebruiken, die u gebruikt met de overbelastingen van InvokeAsync hieronder beschreven.
Belangrijk: Houd er ook rekening mee dat als u deze overbelasting gebruikt om een callback door te geven die retourneert dat Task deze taak niet onmiddellijk wordt gewacht, maar onmiddellijk wordt geretourneerd en de kenmerken heeft van een 'engage-and-forget'. Als u wilt dat de taak die u doorgeeft, moet u ervoor zorgen dat u de overbelasting InvokeAsync(Func<CancellationToken,ValueTask>, CancellationToken) of InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken).
Van toepassing op
InvokeAsync<T>(Func<CancellationToken,ValueTask<T>>, CancellationToken)
- Bron:
- Control.cs
- Bron:
- Control.cs
- Bron:
- Control.cs
Hiermee wordt de opgegeven asynchrone callback uitgevoerd op de thread die eigenaar is van de ingang van het besturingselement.
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)
Type parameters
- T
Het retourtype van de asynchrone callback.
Parameters
- callback
- Func<CancellationToken,ValueTask<T>>
De asynchrone functie die moet worden uitgevoerd, die een CancellationToken en retourneert.ValueTask<TResult>
- cancellationToken
- CancellationToken
Het annuleringstoken.
Retouren
Een taak die de bewerking vertegenwoordigt en het resultaat van de functie van het type bevat T.
Uitzonderingen
De ingang van het besturingselement is nog niet gemaakt.
Opmerkingen
De callback wordt ge marshalld naar de thread die eigenaar is van de ingang van het besturingselement en wordt vervolgens gewacht. Uitzonderingen worden weer doorgegeven aan de aanroeper. Houd er ook rekening mee dat de geretourneerde taak niet de taak is die is gekoppeld aan de callback, maar een taak die de werking vertegenwoordigt van het marshallen van de callback naar de UI-thread. Als u een callback moet doorgeven die een Task<TResult> in plaats van een ValueTask<TResult>retour retourneert, gebruikt u de constructor van de ValueTask<TResult>(Task<TResult>)'s om een nieuwe ValueTask<TResult> te maken die de oorspronkelijke taak verpakt. Bij CancellationToken het marshallen van de callback naar de thread die eigenaar is van de ingang van het besturingselement en bij het uitvoeren van de callback, wordt rekening gehouden met beide.
Als u asynchroon een synchrone callback wilt uitvoeren, gebruikt u de overbelasting of de overbelasting InvokeAsync<T>(Func<T>, CancellationToken)InvokeAsync(Action, CancellationToken).