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
Utilizzare Container Queries nominali
Introduzione alle Container Queries
Recuperare gli audit log in Azure DevOps
Creare una libreria CSS universale: Nav menu
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Configurare automaticamente un webhook in Azure DevOps
Interagire con Azure DevOps tramite MCP Server
Integrare modelli AI in un workflow di GitHub
Esporre tool MCP con Azure Functions
Importare repository da Bitbucket a GitHub Enterprise Cloud
Gestire gli accessi con Token su Azure Container Registry
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Gli oggetti CallOut di Expression Blend 4.0
- Inserire le news di Punto Informatico nel proprio sito


