2013-05-29 51 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(); 
     }