Se você quer o melhor dos dois mundos, dê uma olhada nos serviços do Windows AppFabric. Eles fornecem um mecanismo de cache com um provedor de estado de sessão direta para o ASP.NET. Isso permite que você crie caches distribuídos na memória entre seus servidores da Web e os utilize para potencial armazenamento de estado de failover e sessão. É muito mais rápido do que um servidor de estado ou um backend de SQL e tem todos os benefícios de estar na memória e nos próprios servidores da Web.