W związku z tym dlaczego w ReadAsStringAsync zastosowano metodę asynchroniczną?Dlaczego ReadAsStringAsync async?
var response = await _client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Początkowo spodziewałem SendAsync wysłać żądanie i załadować strumienia odpowiedzi do pamięci, w którym momencie czytania tego strumienia byłoby pracę procesora w procesie (i naprawdę nie asynchroniczny).
Schodząc otwór kod źródłowy królik, przyjechałem w tym:
int count = await _stream.ReadAsync(destination, cancellationToken).ConfigureAwait(false);
To sprawia, że myślę, że być może połączenie jest otwarte aż strumień odpowiedzi jest faktycznie odczytać z jakiegoś źródła zewnętrznego procesu? W pełni oczekuję, że brakuje mi pewnych podstaw dotyczących działania strumieni z Http Connections.
Funkcja SendAsync zwraca natychmiast po otrzymaniu * nagłówków *. Nadal musisz przeczytać * zawartość *, która może mieć wiele KB lub MB. –