1

特定のキーワードで Twitter 検索 API を非同期的にクエリするために、Rx (Reactive Framework) を使用することを考えています。作成したいサンプル アプリは、新しいツイートをコンソールに表示できる必要があります。

それが可能だと思いますか?標準のプログラミング手法を使用するよりも簡単でしょうか?

どうやってそれをしますか?

ありがとう!ジェレミー

4

1 に答える 1

4

それがどのように行われるかの簡単なモックアップ。ここでは簡単な Web リクエストしか実行していませんが、これは Twitter API と対話するように簡単に拡張できるはずです。

更新:以前のサンプルは、繰り返しのリクエストでうまく機能しませんでした。次の改善されたサンプルではObservable.Interval、​​ティックの連続ストリームを生成するために使用し、リクエストの作成とレスポンスのダウンロードを促進します。

Observable
    .Interval(TimeSpan.FromSeconds(5))
    .Select(ticks => (HttpWebRequest)WebRequest.Create("http://demicode.com"))
    .Select(request => Observable.FromAsyncPattern(request.BeginGetResponse, 
        asyncResult => 
        {
            using(var response = request.EndGetResponse(asyncResult))
            using (var sr = new StreamReader(response.GetResponseStream()))
            {
                return DateTime.Now.ToString() + sr.ReadToEnd();
            }
        }))
    .SelectMany(getContent => getContent())
    .ObserveOnDispatcher()
    .Subscribe(content => downloadContent.Text = content);

更新 2: TweetSharpのようなライブラリを使用すると、Twitter の要求を適切に処理できるようです。Observable.FromAsyncPatternasynctwitter.BeginRequestメソッドと組み合わせると、素敵な組み合わせになります。

于 2010-05-05T13:42:44.810 に答える