Here is an interesting article that tells you how to do this:
http://www.eggheadcafe.com/articles/20030514.asp
Viewstate isn't really the same as session state. Viewstate is a hidden field that stores page state between calls. The way that viewstate works is:
1. When asp.net returns an http response to a user, it compiles all the data field data into a big encrypted string.
2. The string is passed as a hidden field. When the user responds to the page, the viewstate is passed back to the server.
4. ASP.NET deserializes and decrypts the string to refill the form fields.
5. If the deserialization breaks, then you get the error "viewstate is invalid for this page and might be corrupted."
Viewstate can break if:
1. The servers aren't all using the same encryption/decryption keys.
2. The viewstate field is being truncated.
3. Other scenarios. Ahem.