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
Ospitare n8n su Azure App Service
Self-healing degli unit test con Copilot in GitHub
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Shadow DOM open e closed sulla gestione delle pagine
Creare una file based app con C#
Building Custom Developer Agents
Cache temporanea in Javascript con oggetti
Utilizzare il top layer in HTML
GitHub Quick Review per la valutazione dello stato di compliance dell'organizzazione aziendale
Ottimizzare i costi con Smart tier in Azure Blob Storage
Costruire endpoint SSE in ASP.NET Core
Utilizzo del persistent state di Blazor nel prerendering


