В моем консольном приложении С# (.net 4.6.1) мне необходимо выполнять вызовы API (получить/отправить/вставить/удалить) и т. д. для случайных конечных точек. Подробная информация об 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)»