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
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Dallo sviluppo locale ad Azure con .NET Aspire
Esporre un server MCP con Azure API Management
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Testare il failover sulle region in Azure Storage
Personalizzare le pagine di errore su Azure App Service
Integrare modelli AI in un workflow di GitHub
Gestire il routing HTTP in Azure Container App
Utilizzare l nesting nativo dei CSS
Creare comandi nella dashboard .NET Aspire
Generare una User Delegation SAS in .NET per Azure Blob Storage
Scrivere selettori CSS più semplici ed efficienti con :is()
I più letti di oggi
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Inserire le news di Punto Informatico nel proprio sito
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps


