2013-05-29 6 views
0

Ceci est mon premier message sur le débordement de la pile, mais je l'utilise depuis longtemps. Je voudrais commencer par dire merci pour la grande communauté de développeurs qui m'a aidé à résoudre de nombreux problèmes en tant qu'étudiant de premier cycle.twitter flux continu asp.net C#

Maintenant, j'ai travaillé sur un projet asp.net dans lequel je veux obtenir un flux Twitter sur une requête spécifique (par exemple Star Trek), et toujours afficher une liste déroulante de la dernière dizaine de tweets à ce sujet . J'utilise également un marqueur de sentiment et je veux montrer le résultat de chaque tweet, probablement à côté du tweet lui-même.

Jusqu'ici, j'ai été capable de créer une application console simple dans laquelle je me connecte à l'API de streaming avec l'en-tête OAuth approprié et j'analyse le json dans un format lisible. Cependant, je veux maintenant créer une application asp.net comme celle mentionnée ci-dessus. De nombreux exemples montrent comment faire des messages simples, ou obtenir les 20 derniers statuts d'un utilisateur, et mettre à jour la page avec ceux-ci en retournant une vue, mais aucun de ces exemples montre comment gérer le flux continu/infini de twitter.

Ma question est comment puis-je relayer le flux Twitter dans ASP.net à partir d'un contrôleur? Est-il possible de retourner une vue chaque fois qu'un nouveau statut arrive dans le flux? Ou est-ce que je vais dans une mauvaise direction? J'ai également lu à propos de PushStreamContent - est-il possible de relayer le flux Twitter en utilisant cette méthode, puis éventuellement faire un appel ajax? J'ai l'impression que ce n'est pas la solution la plus simple. Je doute aussi que j'ai besoin d'utiliser des discussions.

Je suis très nouveau sur asp.net mvc, et mvc n'est peut-être pas le meilleur moyen de résoudre mon problème. Cependant, je voudrais l'utiliser si je peux. Tous les conseils, les méthodes ou l'aide qui me guideraient dans la bonne direction seraient grandement appréciés. J'espère que cette question est suffisamment claire et précise.

Voici quelques exemples de code de ma classe 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

peut-être? http://alchemywebsockets.net/ – I4V

+0

Peut-être. Je vois que c'est une connexion persistante - Est-ce que cela me permettrait d'écrire le flux Twitter à travers, et je pourrais juste ouvrir une socket côté client et la garder ouverte aussi longtemps que je le veux? – dmcnally1023

+0

dmcnally1023, exactement. – I4V

Répondre

1

Avec cette méthode, vous pouvez publier Tweets et aussi redirigez

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(); 
     }