Większość właściwości dostosowywania wnioski zostały zdefiniowane w HttpClientHandler
ta klasa jest podklasą HttpMessageHandler
klasa zdefiniowana tak:Która metoda SendAsync nazywa gdy HttpClientHandler jest przekazywana do HttpClient
public abstract class HttpMessageHandler : IDisposable
{
protected internal abstract Task<HttpResponseMessage> SendAsync
(HttpRequestMessage request, CancellationToken cancellationToken);
public void Dispose();
protected virtual void Dispose (bool disposing);
}
Książka <C#5.0 in a nutshell>
powiedział, że metoda SendAsync
w HttpMessageHandler
jest wywoływana, gdy wywołujemy metodę HttpClient
'SendAsync
. Ale klasa HttpClient
definiuje również metodę SendAsync
, kiedy nazywamy tę metodę instancją HttpClient
, która nazywa się SendAsync
?
Podsumowując swoje pytanie: httpclient ma metodę SendAsync. HttpMessageHandler ma metodę SendAsync (overriden by HttpClientHandler). HttpClient.SendAsync wywołuje HttpMessageHandler.SendAync. Jaki jest problem? – dtb
Masz na myśli HttpClient.SendAsync wywołuje metodę SendAsync HttpMessageHandler, a nie własną? – Allen4Tech
Po wywołaniu HttpClient.SendAsync wykonywana jest procedura HttpClient.SendAsync. Po uruchomieniu HttpClient.SendAsync wywoływana jest metoda HttpMessageHandler.SendAsync. – dtb