Итак, подскажите как реализовать обращение к данному методу, а точнее
messages.getLongPollHistory.
Обычные методы спокойно реализуются с помощью след, строк:
private static String StringS(String url)
{
HttpClientHandler handler = new HttpClientHandler() { UseDefaultCredentials = true, AllowAutoRedirect = true };
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = client.GetAsync(url).Result;
response.EnsureSuccessStatusCode();
var answer = response.Content.ReadAsStringAsync().Result;
return answer;
}
В данном случае результат приходит сразу, но как я понимаю, если запустить подобный метод для long pool'a то, он вернется раньше времени, или я чего то не понимаю? Так вот, как осуществить постоянное выполнение этого метода в приложении и как реализовать само обращение к серверу через лонг-пулл?
Пробовал нечто подобное:
string p = "";
for (;;){
p = StringS(url);
/*
*Тут находятся методы для обработки полученных данных
*/
using (EventWaitHandle tmpEvent = new ManualResetEvent(false))
{
tmpEvent.WaitOne(TimeSpan.FromMilliseconds(500)); //достаточно ли 500ms?
}
}
Но опять,как мне кажется, возникает проблема с получением ответов от сервера. Подскажите решение данной проблемы.