我發現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