See the question and my original answer on StackOverflow

You could have a look at

Windows Server AppFabric. It used to be called 'velocity'.

It is a distributed in-memory application cache platform for developing scalable, high-performance applications.

Otherwise, the Enterprise Library Caching Application Block you're talking about is here: The Caching Application Block however, this page says:

Caching Application Block functionality is built into .NET Framework 4.0; therefore the Enterprise Library Caching Application Block will be deprecated in releases after 5.0. You should consider using the .NET 4.0 System.Runtime.Caching classes instead of the Caching Application Block in future development.

And actually, the System.Runtime.Caching Namespace is a very good building block to build on if you're going to write something by yourself. I don't think it implements the notion of distributed cache, that's why Windows Server AppFabric exists.

Now, there is also non-Microsoft technologies available in the .NET space. Have a look a memcached and .NET implementation or usage:

You also have commercial packages available, like NCache (I'm not affiliated). I don't know what they provide, but it's also probably interesting to have a look at it, just to be aware what they provide, to ensure you don't miss any feature you'd need later one.