Ok. Show of hands. Who has wanted to build a web application with a custom Session State provider using a distributed cache to spread session objects across a cluster? In other words, provide scalability to your web applications? How about if that same mechanism could be used in thick clients too?

Well you're one step closer with the first community technology preview (CTP) of Microsoft Project Code Named "Velocity" that was announced at TechEd.

"Velocity" is a distributed in-memory application cache platform for developing scalable, available, and high-performance applications. "Velocity" fuses memory across multiple computers to give a single unified cache view to applications.

Applications can store any serializable CLR object without worrying about where the object gets stored. Scalability can be achieved by simply adding more computers on demand. "Velocity" also allows for copies of data to be stored across the cluster, thus protecting data against failures. "Velocity" can be configured to run as a service accessed over the network or can be run embedded with the distributed application.

"Velocity" includes an ASP.NET session provider object that enables ASP.NET session objects to be stored in the distributed cache without having to write to databases. This increases the performance and scalability of ASP.NET applications.

You can learn more about Velocity from a white paper, Microsoft Project Code Named "Velocity". You can download the first CTP of "Velocity" from Microsoft Project Code Named “Velocity” Community Technology Preview 1 (CTP1). 

To see the code to implement that cache for Sesson State, see How to Use Session State Provider (Microsoft Project code named Velocity). It's all in the web.config file.

In addition, you might want to follow Microsoft partner, Digipede, who has a proof of concept running on its distributed computing grid that is built on the .NET Framework. For more information, see Powers Unfiltered: Digipede and Velocity and Digipede + Velocity.