| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Reactive Extensions

Page history last edited by Garo Yeriazarian 14 years, 1 month ago

Keith Dahlby (@dahlbyk) presented what he had learned about Reactive Extensions.

 

DevLabs Link: http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx

There are videos on that site, but also look for the PDC presentation: http://microsoftpdc.com/Sessions/VTL04

In this session, Keith ran through the PDC presentation and some examples of how to use Rx (Reaction Extensions) were demoed.

 

Integration with MassTransit is pending some commits, testing, etc.

 

Summary: IObservable is the opposite of IEnumerable, instead of pulling "items" out, "items" are pushed to you.  Using LINQ with Rx gives you "Real Ultimate Power".

 

http://themechanicalbride.blogspot.com/2009/07/introducing-rx-linq-to-events.html

http://community.bartdesmet.net/blogs/bart/archive/tags/Rx/default.aspx

http://weblogs.asp.net/podwysocki/ (also includes articles on Rx for JavaScript as well)

 

Microsoft ported the parallel extensions to .NET 3.5 as well as this library.  It is currently being pushed for use with Silverlight and for UI programming, but it will also be used as the core for Microsoft's high powered in-memory event processing system that will be part of SQL Server 2008 R2.

 

Short list of possible uses:

  • Composing events, complex events based on conditions
  • AsyncResult programming
  • Working with streams
  • Service Buses (MassTransit)
  •  Converting any IEnumerable to a "push" model and back
    • Take an IObservable, convert to IEnumerable and block to get all the results
  • Example Scenarios
    • watch for 3 bad login attempts on the same account and fire a LockAccount message
    • combine events that are received in a particular time into a single event
      • Useful for MouseMove event tracking

 

MORE!!!

 

Note: It'd be awesome if someone could post the code snippets, I didn't copy them down...

 

The installer comes with full documentation and Reflector can help you with the rest.

 

This library is useful for building an Event Driven Architecture.

 

 

Comments (0)

You don't have permission to comment on this page.