这是我关于堆栈溢出的第一篇文章,但我已经使用它很长时间了。首先,我要感谢伟大的开发者社区,他们帮助我作为本科生解决了许多问题。
现在,我一直在从事一个 asp.net 项目,在该项目中,我想获得有关特定查询(例如星际迷航)的 twitter 流,并始终显示最近 10 条左右关于它的推文的滚动列表。我也在使用情绪评分器,我想显示每条推文的评分结果,可能在推文本身旁边。
到目前为止,我已经能够创建一个简单的控制台应用程序,在该应用程序中,我使用适当的 OAuth 标头连接到流式 API,并将 json 解析为可读的格式。但是,我现在想创建一个像上面提到的那样的 asp.net 应用程序。许多示例展示了如何发布简单的帖子,或者从用户那里获取最后 20 个状态,并通过返回视图来更新页面,但这些示例都没有展示如何处理 twitter 的连续/无限流。
我的问题是如何从控制器中继 asp.net 中的 twitter 流?每次新状态进入流时是否可以返回视图?还是我走错了方向?我还阅读了有关 PushStreamContent 的信息 - 是否可以使用此方法中继 twitter 流,然后可能进行 ajax 调用?我觉得这不是最简单的解决方案。我也怀疑我需要使用线程。
我对 asp.net mvc 很陌生,也许 mvc 不是解决我的问题的最佳方法。但是,如果可以的话,我想使用它。任何提示、方法或帮助引导我朝着正确的方向前进将不胜感激。我希望这个问题足够清楚和具体。
这是我的 TwitterStream 类的一些示例代码:
public void StartStream()
{
try
{
HttpWebRequest request = MakeRequest(); //makes oauth request
HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
sReader = new StreamReader( resp.GetResponseStream() );
while(true)
{
PopulateTweetJsonQueue(); //throw tweets into queue for processing
}
}
catch(WebException e)
{
BackOffStrategy(e);
}
}