В моем консольном приложении c # (.net 4.6.1) я должен делать вызовы API (Get / Post / Put / Delete) и т. Д. Для случайных конечных точек.Детали URL, полезной нагрузки и т. Д. Взяты из таблицы базы данных.Консольное приложение получает экземпляр httpClientFactory, как показано ниже
var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
var httpClientFactory = serviceProvider.GetService<IHttpClientFactory>();
Для каждой записи, получаемой из таблицы, я вызываю метод для вызова API.К этому методу я передаю httpClientFactory.В этом методе я создаю и использую HttpClient следующим образом.
var httpClient = httpClientFactory.CreateClient();
//set headers
//make api call, for ex var response = await httpClient.PutAsync(apiTask.URL, content);
//Return resposne
Я не могу избавиться от httpClient.Поскольку я вижу использование памяти, оно продолжает расти, и я не вижу, что оно падает даже после нескольких часов.
Я следовал следующей статье https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.1
Я правильно ее использую?,Должен ли я использовать "using (httpClient)"