A partire dalla versione 3 di .NET Core, la classe HttpClient può utilizzare i protocollo HTTP/2. Per abilitare questa opzione abbiamo due possibilità: la prima consiste nell'abilitare l'opzione a livello di singola chiamata mentre la seconda consiste nell'ablitare l'opzione a livello di istanza così che tutte le chiamate effettuate dall'istanza usino HTTP/2.
Per abilitare HTTP/2 a livello di singola chiamata, dobbiamo impostare la proprietà Version di HttpRequestMessage come nel seguente script.
var client = new HttpClient() { BaseAddress = new Uri("https://myserver.com") };
using (var request = new HttpRequestMessage(HttpMethod.Get, "/api/customers") { Version = new Version(2, 0) })
using (var response = await client.SendAsync(request))
Console.WriteLine(response.Content);Come si evince dall'esempio la proprietà Version è di tipo Version il quale accetta due parametri nel costruttore: il primo è la major version di Http mentre il secondo rappresenta la minor version.
Se vogliamo invece abilitare HTTP/2 a livello di istanza, dobbiamo impostare la proprietà DefaultRequestVersion di HttpClient.
var client = new HttpClient()
{
BaseAddress = new Uri("https://myserver.com"),
DefaultRequestVersion = new Version(2, 0)
};
using (var response = await client.GetAsync("/api/customers"))
Console.WriteLine(response.Content);Se non specifichiamo la versione HTTP, viene mantenuto il vecchio comportamento quindi viene usao HTTP/1.1. Inoltre, se anche impostiamo HTTP/2 come protocollo, se il server non supporta HTTP/2, verrà automaticamente usano HTTP/1.1 come fallback.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire progetti .NET + React in .NET Aspire
Integrare Agenti A2A in Azure API Management
Creare comandi nella dashboard .NET Aspire
Analizzare il contenuto di una issue con GitHub Models e AI
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Gestione file Javascript in Blazor con .NET 9
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Impostare automaticamente l'altezza del font tramite CSS
Utilizzare i variable font nel CSS
Esporre un server MCP con Azure API Management
Keynote .NET Conference Italia 2025
Esporre un server MCP esistente con Azure API Management
I più letti di oggi
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Esaminare documenti XML con namespace utilizzando LINQ to XML


