I was exploring the options to scaleout the asp.net session.Here goes the results.
Different modes of storing the session
2) Out Proc
a) ASP.NET State Service
Yes we all know that when comapared to the Asp.net State service option with Sql Server, Sql server scales/available very well at the expense of performance.
But if we have an option where in 2 servers are available(with enough memory and a bit of relaxation in terms of availability requirement), then we can think of partitioning the session data across those 2 boxes.(intermediate scaling option with asp.net state service) so that availability is the sum of 2 boxes. for instance if one of the two boxes is down then the user whos session data is stored in the other machine will be served without any interruption..
It can be achieved with the help of interface - IPartitionResolver and few configuration entries(PartitionResolverType)
For more info on using this session partition refer to msdn.
I hope this helps!.