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
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Generare la software bill of material (SBOM) in GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare i primary constructor in C#
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Sfruttare al massimo i topic space di Event Grid MQTT
Disabilitare automaticamente un workflow di GitHub (parte 2)
Eseguire le GitHub Actions offline
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Eseguire script pre e post esecuzione di un workflow di GitHub
Ottenere un token di accesso per una GitHub App
Creare una custom property in GitHub