我正在考虑使用 Rx(反应式框架)来异步查询给定关键字的 Twitter 搜索 API。我想构建的示例应用程序应该能够在控制台中显示新推文。
你认为有可能做到这一点吗?它会比使用标准编程技术更简单吗?
你会怎么做?
谢谢 !杰里米
我正在考虑使用 Rx(反应式框架)来异步查询给定关键字的 Twitter 搜索 API。我想构建的示例应用程序应该能够在控制台中显示新推文。
你认为有可能做到这一点吗?它会比使用标准编程技术更简单吗?
你会怎么做?
谢谢 !杰里米
如何完成的快速模型。请注意,我只完成了一个简单的 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
方法是一个很好的组合。