HttpClient, использование памяти
Приложение запускает несколько потоков с бесконечными циклами, которые выполняют sql и web запросы, при работе используемая память бесконечно увеличивается. Не понимаю из-за чего, предполагаю, что проблема именно в web запросах. Вот снимок кучи и метод который используется в циклах, для выполнения запроса через прокси если тот имеется.

public static async Task<string> GETOrProxy(string url, string[] proxy)
{
string result = null;
try
{
if (proxy[0] != "" && proxy[0] != null)
{
WebProxy Proxy = new WebProxy
{
Address = new Uri($"http://{proxy[0]}:{proxy[1]}"),
BypassProxyOnLocal = false,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(
userName: proxy[2],
password: proxy[3])
};
var httpClientHandler = new HttpClientHandler{Proxy = Proxy};
using var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);
var response = await client.GetStringAsync(url);
result = Convert.ToString(response);
httpClientHandler.Dispose();
}
else
{
using var client = new HttpClient();
var response = await client.GetStringAsync(url);
result = Convert.ToString(response);
}
}
catch
{
result = null;
}
return result;
}
Ответы (1 шт):
Автор решения: Kurama
→ Ссылка
Я избавился от создания нового HttpClient для каждого запроса и проблема ушла. Насчёт прокси - я работаю с разными аккаунтами(для каждого свой прокси) и теперь для каждого аккаунта создаётся свой httpclient, если у аккаунта нет прокси - client создаётся без handler. И этот клиент уже отправляется в метод запроса.