нужна твоя помощь.
Не могу понять, как правильно использовать HttpClient в разных потоках с разными обработчиками?Мне нужно, чтобы каждый мой поток работал с HttpClient с разными прокси за один раз (около 300 потоков).Я прочитал много страниц - я должен использовать один HttpClient, не создавая новых экземпляров.Но как я могу использовать его с разными httpclienthandlers?
Теперь я создаю новые экземпляры с каждым новым прокси, и это увеличивает утечку памяти.Использование, избавление не помогает ... Простой пример:
public void start_parallel()
{
List<int> start = new List<int>();
int gg = 0;
while (gg != 30000)
{
gg += 1;
start.Add(gg);
}
while (true)
{
Parallel.ForEach(start, new ParallelOptions() { MaxDegreeOfParallelism = 300 }, (s) => worker(s));
Thread.Sleep(1000);
GC.Collect();
Thread.Sleep(1000);
}
}
public void worker(int i)
{
using (var http_client = new HttpClient(handler)
{
await http_client.PostAsync(url, data);
};
};
Что я делаю не так?
Спасибо!