我发现Rx框架看起来对于异步操作非常有用,但我无法理解如何使用它来下载大量页面。Web爬虫的Rx框架
我试图写这样的事情
var en = Enumerable.Range(0,100).Select(x => WebRequest.Create("http://google.com")).Select(x => Observable.FromAsyncPattern<WebResponse>(x.BeginGetResponse,
x.EndGetResponse)().Subscribe(r => Console.WriteLine(r.ContentLength))).ToList();
Ofcourse它不工作。如何做到这一点?
你想在这里实现什么?什么是实际情况? Rx可能不是正确的方法 - 任务并行库可能就足够了。 – yamen
@yamen在这个例子中,我只是试图异步下载100页。我询问了有关使用TPL执行此任务的问题,并且有人向我解释说,tpl适用于CPU绑定操作。对于I \ O操作,异步方法更好。 Rx使得异步方法很容易,对吧?当然,我可以做到没有Rx,但我想学习新的东西。 – Neir0
合理 - 是VS 11还是.NET 4.5的选项? – yamen