Почему мой третий запрос на Twitter всегда истекает? - PullRequest
0 голосов
/ 23 декабря 2010

Это раздражает.У меня есть приложение, которое должно публиковать информацию о статусе в Twitter.Он написан на C # и использует DotNetOpenAuth для аутентификации.

Я делаю обновление статуса с помощью следующего кода:

var the_request = m_consumer.PrepareAuthorizedRequest(status_endpoint,
                                                      m_access_token);
the_request.GetResponse();

Первые два обновления статуса всегда выполняются без ошибоки практически сразу.

Затем третий раз выходит.Я получаю исключение типа System.Net.WebException throw.

Независимо от того, что я делаю, это всегда третий запрос, который истекает.Время ожидания всех последующих запросов.

Что здесь происходит?

Ответы [ 2 ]

4 голосов
/ 23 декабря 2010

Полагаю, the_request является запросом HttpWebRequest.Это приводит к тайм-ауту, если потоки не закрыты должным образом.Обязательно закрывайте оба потока запросов и ответов после каждого запроса

the_request.GetResponse();
the_request.close()

и

   var resp = the_request.GetResponse();
   //your logic to handle to response
   resp.close()
1 голос
/ 23 декабря 2010

Каждый твиттер API имеет ограничение скорости.

Я вижу скорость по умолчанию 150 запросов в час.
Зависит от того, как они реализуют регулирование, но это примерно 2,5 запроса в минуту.

Вы пытались ждать 30 секунд между каждым запросом.

...