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
C# 12: Cosa c'è di nuovo e interessante
Utilizzare Model as a Service su Microsoft Azure
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Creare un webhook in Azure DevOps
Gestire domini wildcard in Azure Container Apps
Usare le collection expression per inizializzare una lista di oggetti in C#
Utilizzare politiche di resiliency con Azure Container App
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Copiare automaticamente le secret tra più repository di GitHub
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Gestire i null nelle reactive form tipizzate di Angular