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
Migliorare l'organizzazione delle risorse con Azure Policy
Introduzione ai web component HTML
Applicare un filtro per recuperare alcune issue di GitHub
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Anonimizzare i dati sensibili nei log di Azure Front Door
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare gRPC su App Service di Azure
Gestire il colore CSS con HWB
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Migliorare la scalabilità delle Azure Function con il Flex Consumption
I più letti di oggi
- Formati per l'impostazione del colore in CSS3
- Eseguire una chiamata AJAX per inviare dati al server in Angular 2
- Impostare un riferimento ad una entity collegata tramite foreign key
- la Call For Papert per #netconfit è aperta!invia la tua sessione da https://aspit.co/netconfit-20 puoi parlare di #net5, #aspnet5, #efcore5, #CSharp9 e tutto quello che ruota intorno a #dotnet.