We have an ASP.Net MVC project that will start with a single web server but will likely soon scale into a small web farm. As ASP.Net Authentication stores a UserID, and data caching may also be useful, we will likely need to make the jump to state server fairly soon.
I'd like to hear from others how State Server has been to work with and how it scales from a performance perspective.
Alternatively, we could architect it as completely stateless by not using data caching and tracking sessions with an encrypted cookie.
Update: I had some misinformation previously (from a Microsoft technical advisor...), Auth does not store in session like I thought, it just stores in the cookie. So, we would not need state server in this situation afterall.
A fully stateless (sessionless) application would be more scalable. Using ASP.NET FormsAuthentication, user id is stored in an encrypted cookie which is available on every request and you can obtain user information from a data store. To further improve performance you could cache the results of some expensive queries. Ideally this cache would be distributed over a cache servers farm. For example youy could use memcached which has a provider for ASP.NET.