La classe HttpClient in Windows.Web.Http espone una serie di metodi per integrarsi al meglio con le API asincrone di WinRT.
Ad esempio, il metodo GetAsync restituisce un IAsyncOperationWithProgress
Tra gli overload del metodo possiamo passare come parametro un oggetto di tipo CancellationToken con cui possiamo controllare il task asincrono. Il CancellationToken è esposto come proprietà di CancellationTokenSource oltre a vari metodi, ad esempio con CancelAfter possiamo impostare il tempo in cui il task sarà cancellato dal momento della sua creazione.
var cts = new CancellationTokenSource(); cts.CancelAfter(2000); var client = new HttpClient(); var response = await client.GetAsync(new Uri("https://www.winrtitalia.com")).AsTask(cts.Token); if (!response.IsSuccessStatusCode) { //messaggio return; } var txt = await response.Content.ReadAsStringAsync();
Nell'esempio, la chiamata HTTP sarà annullata se la sua risposta non arriverà entro il tempo impostato come timeout nel metodo CancelAfter.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire i dati con Azure Cosmos DB Data Explorer
Definire stili a livello di libreria in Angular
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Implementare l'infinite scroll con QuickGrid in Blazor Server
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Introduzione alle Container Queries
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare Azure Cosmos DB con i vettori
Estrarre dati randomici da una lista di oggetti in C#
Recuperare App Service cancellati su Azure
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Effettuare il refresh dei dati di una QuickGrid di Blazor