The default timeout of an HttpClient is 100 seconds.
HttpClient Timeout
You can adjust to your HttpClient and set a custom timeout duration inside of your HttpService.
httpClient.Timeout = 5000;
HttpClient Request Timeout
You could alternatively define a timeout via a cancellation token CancellationTokenSource
using (var cts = new CancellationTokenSource(new TimeSpan(0, 0, 5)))
{
await httpClient.GetAsync(url, cts.Token).ConfigureAwait(false);
}
A few notes:
- Making changes inside of the
HttpClientwill affect all requests. If you want to make it per request you will need to pass through your desired timeout duration as a parameter. - Passing an instance of
CancellationTokenSourcewill work if it’s timeout is lower thanTimeoutset by theHttpClientandHttpClient‘s timeout is not infinite. Otherwise, theHttpClient‘s timeout will take place.