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
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Managed deployment strategy in Azure DevOps
Collegare applicazioni server e client con .NET Aspire
Ottimizzare le performance usando Span<T> e il metodo Split
Utilizzare Locust con Azure Load Testing
Simulare Azure Cosmos DB in locale con Docker
Anonimizzare i dati sensibili nei log di Azure Front Door
Testare il failover sulle region in Azure Storage
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Creare una libreria CSS universale: Immagini
Configuratione e utilizzo .NET Aspire CLI
Gestire gli errori nelle Promise JavaScript con try()
I più letti di oggi
- Windows Phone 7: RTM dei tool il 16 settembre, marketplace da ottobre
- Windows Phone SDK 7.1 rilasciato ufficialmente, anche in italiano
- Ondata di novità per Windows Azure
- Rilasciato Entity Framework 4.3
- Windows 8.1 e Visual Studio 2013: date ufficiali e rilascio via MSDN
- Internet Explorer 7.0 disponibile in RTM
- Q# for Quantum Programming, an "only for the brave" session
- Estensioni personalizzate per le pipeline di Azure DevOps e GitHub con .NET 5
- Forzare l'uscita da un ciclo FOR...NEXT
- Scadenza della password in ASP.NET Identity