Здравствуйте. Есть метод для отправки запросов:
public static XDocument _request(string Url)
{
WebRequest Request = WebRequest.Create(Url);
Stream XmlStream = Request.GetResponse().GetResponseStream();
return XDocument.Load(XmlStream);
}
Пытаюсь запустить два потока:
foreach (string Link in Links)
{
TimerCallback RSSCallback = new TimerCallback(ReadRSS);
Timer Timer = new Timer(Test, Link, 0, 3000);
}
public static void Test(object obj)
{
string Url = (string)obj;
Console.WriteLine($"Запрос на {Url}");
RSS._request(Url);
}
В итоге вижу следующее:
То есть по какой-то причине запросы начинают обрабатывать только в одном потоке, в другом всё тихо. Опытным путём выяснил, что это никак не зависит от URL. То есть если поменять в массиве Links элементы, то всё равно только первый поток работает.
В чём ошибка?
UPD. Опытным путём было выявлено, что ошибка в строчке
return XDocument.Load(XmlStream)
. Если её убрать, то все запросы нормально отправляются на оба ресурсов без каких-либо проблем