1

我正在考虑使用 Rx(反应式框架)来异步查询给定关键字的 Twitter 搜索 API。我想构建的示例应用程序应该能够在控制台中显示新推文。

你认为有可能做到这一点吗?它会比使用标准编程技术更简单吗?

你会怎么做?

谢谢 !杰里米

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.FromAsyncPattern结合 asynctwitter.BeginRequest方法是一个很好的组合。

于 2010-05-05T13:42:44.810 回答