State Management in WCF

Nicholas Allen blogs about the layered architecture of WCF and specifically about how services can be configured to start just-in-time to process the first message.

He then posits about maintaining state between instances of the service startup, whether that be in IIS or a Windows Service. He suggests a possible expansion of the hosting layer to make use of ASP.NET Session State.

I would argue that this is only an option if ASP.NET session state were configured to persist in a database. This becomes critical once you decide to scale out your service in a web/service farm that is load balanced. In a load balanced, or otherwise distributed scenario, you want to store state information in a decoupled storage mechanism that all web and/or service instances/servers can enter into communication with on an equal footing (so server 1 can access session state previously updated by server 5, driven by some kind of session key).