Ответ 1
Вы не закрываете свой веб-ответ - если вы обнаружите, что работают первые пару запросов, но после этого этого не делают, то эта проблема. Он пытается повторно использовать существующее соединение с сервером, но это невозможно, потому что вы не закрыли ответ.
Измените свой код на:
using (HttpWebResponse webresponse = (HttpWebResponse) myRequest.GetResponse())
{
if (webresponse.StatusCode == HttpStatusCode.OK)
{
continue;
}
...
}
и посмотрите, помогает ли это.
Если он не с самого первого запроса на сервер, то что-то другое. В этом случае используйте Wireshark, чтобы узнать, что происходит на сетевом уровне.
Обратите внимание, что в приведенном выше коде я также удалил преобразование строк в пользу сравнения кодов состояния напрямую.