Vinay, we had the same problem using SQL server to store session state. I
am sure the problem is the same
Each server has a number in the IIS metabase and all servers need to have
the same setting:
You need to sync the application names in the IIS metabase.
Get ahold of a copy of MetaEdit (search ms site) and make sure
this # (1751721335) is the same on all servers in this key.
LM\W3SVC\1751721335\root\
It does not have to be the number in this example, just make sure they
are the same on both of your servers.
1. Syncronize application names in the IIS metabase.
LM\W3SVC\1751721335\root\
key name: approot value = /LM/W3SVC/1751721335/Root
Make the above keys the same on all servers using metaedit.exe
2. Syncronize encryption keys across all web servers
a. Generate a key by running
E:\Source\DOTNET\CPO\HashConfigCs\bin\Debug\HashCo nfigCs.exe and pass these
args 24 64
See this article
http://support.microsoft.com/?id=312906
b. Paste output from the above program into the machine.config on each
machine
<machineKey
validationKey="FED661660E09167F30CCFFF4E5DADF3E036 FD7712E7B187762FF32B918BC3
CA8FC1A751F3F7EFAD0A48AAC4DB90DDDD639E82B96632796B 416A64ABA1EF29A6F"
decryptionKey="DCB56D6EC85B79DF7DCD85F45F775B6AB01 6ABB3BE5C5E2C"
validation="SHA1"/>
Hope this helps,
TPS