这很烦人。我有一个应用程序,应该在Twitter上发布状态信息。它是用C#编写的,使用DotNetOpenAuth进行身份验证。
我使用以下代码进行状态更新:
var the_request = m_consumer.PrepareAuthorizedRequest(status_endpoint,
m_access_token);
the_request.GetResponse();
前两个状态更新总是完美无缺地立即执行。
然后第三次超时。我得到了抛出类型System.Net.WebException
的异常。
无论我做什么,总是超时的第三个请求。任何后续请求都会超时。
这里发生了什么?
答案 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秒。