2013-05-29 46 views
0

这是我在堆栈溢出的第一篇文章,但我一直在使用它很长一段时间。我想首先感谢帮助我解决许多问题的开发人员作为一名本科生。微博连续流asp.net c#

现在,我一直在研究一个asp.net项目,我想在特定查询(例如Star Trek)上获取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); 
    } 
} 
+0

可能? http://alchemywebsockets.net/ – I4V

+0

可能。我发现它是一个持久的连接 - 这是否允许我通过它来编写twitter feed,并且我可以在客户端打开一个套接字,并且只要我想要保持打开状态?准确地说,dmcnally1023是 – dmcnally1023

+0

。 – I4V

回答

1

使用这种方法,您可以发布推文和重定向也

public ActionResult Tweet(string tweet) 
     { 
      var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager); 
      // Process the response 
      var accessTokenResponse = twitter.ProcessUserAuthorization(); 

      // Is Twitter calling back with authorization? 
      if (Tweet_Token != null) 
      { 
       string accessToken = Tweet_Token; 
       var tokenSecret = twitter.TokenManager.GetTokenSecret(accessToken); 
       TwitterPush tw = new TwitterPush(twitter_app, twitter_secret, accessToken, tokenSecret); 
       if (tweet != "") 
       { 
        var response = tw.UpdateStatus(tweet); 

       } 
       return View(); 

      } return View(); 
     }