I am trying to execute HttpClient.GetAsync in a loop.
As per Microsoft Doc, it is recommended to use 1 instance of HttpClient.
The way I'm getting HttpClient is
var httpClient = HttpClientFactory.Create(HttpClientRequestHandler.HttpMessageHandler, delegatingHandler);
It hits GetAsync function fine, the first time, but when I reuse the httpClient reference, I'm getting the error: The 'DelegatingHandler' list is invalid because the property 'InnerHandler' of 'HttpClientTelemetryHandler' is not null.
When I tried creating a new Handler and HttpClient instance in the loop everytime, it works fine.
This is now a conflict of interest. Should I create a new instance everytime in the loop, or is there any other way of doing this which is the right way to do it.
Additional info: The custom library which I consume to create the HttpClient is .Net Standard 2.0 and the client application which calls the HttpClient is .Net Core 2.1.
Appreciate any help.
Thanks.
Usually this error happens when you reuse the same
Handlerinstance in a batch or a loop.Disposing the HttpClient properly at the end of each request prevents this error.