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 Tailwind CSS all'interno di React: primi componenti
Usare il versioning con i controller di ASP.NET Core Web API
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Eseguire attività pianificate con Azure Container Jobs
C# 12: Cosa c'è di nuovo e interessante
Utilizzare il trigger SQL con le Azure Function
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Code scanning e advanced security con Azure DevOps
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Evitare la command injection in un workflow di GitHub
Gestire i null nelle reactive form tipizzate di Angular
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- ASP.NET 3.5 per tutti
- .NET Conference Italia 2023 - Milano e Online
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare Docker Compose con Azure App Service
- Creare più ambienti in un'applicazione Angular