Gå til indholdet

Synkron HTTP

HTTP (HyperText Transfer Protocol) er det mest udbredte protokol til at overføre data over internettet. I .NET bør al HTTP kommunikation foregå asynkront, men det er stadig muligt at lave synkrone kald.

Warning

Synkrone kald kan blokere tråde og bør derfor undgås i applikationer med mange brugere.

Du kan eventuelt bruge den “gamle” WebClient (System.Net.WebClient) hvis du ønsker et rent synkront kald - eksempelvis til at hente en streng:

using (WebClient w = new WebClient())
{
    string s = w.DownloadString("https://www.random.org/integers/?num=1&min=1&max=6&col=1&base=10&format=plain&rnd=new");
}

Men hold dig til HttpClient til asynkron kommunikation.

Spørgsmål til AI

For at få mest muligt ud af AI-værktøjer som ChatGPT, er det vigtigt at stille klare og præcise spørgsmål (og skabe det rigtige kontekst - se her). Her er nogle spørgsmål til denne side:

Grundlæggende spørgsmål til AI

  • Hvad er forskellen mellem sync og async HTTP calls?
  • Hvornår skal jeg bruge synkrone HTTP requests?
  • Hvordan undgår jeg blocking på UI thread?
  • Hvad er deadlock risici med sync HTTP?
  • Hvordan optimerer jeg HTTP performance?
  • Hvornår er sync HTTP requests acceptable?