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 automaticamente un workflow di GitHub
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
.NET Conference Italia 2024
Creare una libreria CSS universale: Cards
Miglioramenti nelle performance di Angular 16
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
C# 12: Cosa c'è di nuovo e interessante
Come migrare da una form non tipizzata a una form tipizzata in Angular
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Come EF 8 ha ottimizzato le query che usano il metodo Contains