为什么我的第三个Twitter请求总是超时?

时间:2010-12-23 08:12:09

标签: c# api twitter timeout dotnetopenauth

这很烦人。我有一个应用程序,应该在Twitter上发布状态信息。它是用C#编写的,使用DotNetOpenAuth进行身份验证。

我使用以下代码进行状态更新:

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

前两个状态更新总是完美无缺地立即执行。

然后第三次超时。我得到了抛出类型System.Net.WebException的异常。

无论我做什么,总是超时的第三个请求。任何后续请求都会超时。

这里发生了什么?

2 个答案:

答案 0 :(得分:4)

我认为 the_request 是一个HttpWebRequest。如果流未正确关闭,则会导致超时。请务必关闭您的请求和每个请求后的响应流

the_request.GetResponse();
the_request.close()

   var resp = the_request.GetResponse();
   //your logic to handle to response
   resp.close()

答案 1 :(得分:1)

每个Twitter API都有一个速率限制。

我看到默认费率是每小时150个请求 取决于他们如何实施限制,但每分钟约有2.5个请求。

您是否尝试过在每次请求之间等待30秒。