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
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Utilizzare DeepSeek R1 con Azure AI
Utilizzare WhenEach per processare i risultati di una lista di task
Configurare lo startup di applicazioni server e client con .NET Aspire
Recuperare l'ultima versione di una release di GitHub
Eliminare una project wiki di Azure DevOps
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Generare una User Delegation SAS in .NET per Azure Blob Storage
Eseguire query in contemporanea con EF
Fissare una versione dell'agent nelle pipeline di Azure DevOps