У меня есть маленький код вроде:
using (WebClient wc = new WebClient())
{
wc.Proxy = new WebProxy("IP", Port);
resume:
if (!wc.IsBusy)
{
string rtn_msg = string.Empty;
try
{
rtn_msg = wc.DownloadString(new Uri("http://google.com/"));
}
catch (WebException) { }
catch (Exception) { }
}
else
{
System.Threading.Thread.Sleep(1000);
goto resume;
}
}
Я пытаюсь использовать его с ThreadPool:
foreach (Proxy proxy in s)
{
ThreadPool.QueueUserWorkItem((c) =>
{
this.CheckProxy(proxy);
});
}
Проблема в том, что последний прокси в списке проверяется всемипотоки.
Например, если в списке прокси указаны ip1, ip2, ip3, ip4, все потоки проверяют ip4, последний элемент в списке.
Почему это так?Любые предложения о том, как я могу заставить это работать?