Вы можете использовать Rx в различных сценариях обратного вызова, а не только когда вы работаете с «обычными приложениями Windows». Особенно, когда вы работаете с асинхронными операциями - например, вам может потребоваться позвонить на сервер или в облако из вашего клиента Silverlight или настольного компьютера и получить данные обратно. Или в тех случаях, когда вам перезвонят с сервера (в таких случаях, как дуплекс Polling).
Кроме того, еще один сценарий для веб-приложений - аннулирование кэша при получении события изменения данных из модели. Просто некоторый «воображаемый» код, если у вас есть кэш и модель, спроектированные соответствующим образом ...
var cacheListeners=from sender in myModel.GetDataChangedEvents()
select sender;
//Subscribe
cacheListeners.Subscribe(data=>Cache.Invalidate(data.Key));
Посмотрите на это http://amazedsaint.blogspot.com/2009/11/systemreactive-or-net-reactive.html