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
Configurare policy CORS in Azure Container Apps
Disabilitare automaticamente un workflow di GitHub
Miglioramenti agli screen reader e al contrasto in Angular
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Determinare lo stato di un pod in Kubernetes
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Implementare il throttling in ASP.NET Core
Le novità di Angular: i miglioramenti alla CLI
Utilizzare Tailwind CSS all'interno di React: installazione
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Controllare gli accessi IP alle app con Azure Container Apps
Paginare i risultati con QuickGrid in Blazor