Reactive Extension (Rx) tutorial that is up to date

Igor Kulman picture Igor Kulman · Apr 4, 2012 · Viewed 28.5k times · Source

I am quite interested in Reactive Extensions but I cannot find an up to date tutorial. I started with Curing the asynchronous blues with the Reactive Extensions for .NET but it is out of date. I can figure out some changes but I could not get many examples working.

I found many articles on the web, mainly from 2009,2010 but they are also incompatible with the current release. I am especially interested in using Rx with Windows Phone and WebClient:

WebClient wc = new WebClient();

var o = Observable.FromEvent<DownloadStringCompletedEventArgs>(wc, "DownloadStringCompleted").Select(newString => newString.EventArgs.Result);

// Subscribe to the observable, and set the label text
o.Subscribe(s => myLabel.Text = s);

// Start the download
wc.DownloadStringAsync(new Uri("http://www.data.com/service"));

Do not work anymore and replacing FromEvent with FromEventPattern is not enough.

Can somebody point me to an up to date resource?

Answer

Giorgi picture Giorgi · Apr 4, 2012

When learning Rx the first thing is to understand the philosophy behind IObservable and how it's push based nature compares with IEnumerable. I suggest the following one for a good explanation: A[nother] Simpler Tutorial for Reactive Extensions

Lee Campbell has nice series explaining the api and when to use them. He also tries to keep it up to date with latest releases: Reactive Extensions for .NET an Introduction The series is now available as a book at Introduction to Rx

By the way, I have also written a blog post about solving real life problem with rx: Using Reactive Extensions for Streaming Data from Database

Hope this helps.