需求提出:
网站:
父Web Application: http://www.test.com/
子Web Application 1: http://www.test.com/child1
子Web Application 2: http://www.test.com/child1
默认情况下,由于独立的web application之间的Session是不共享的,现在需要这几个web application之间共享Session/登录
解决方案:
使用asp.net state server
步骤:
1. 开启asp.net state server服务
2. 修改注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesaspnet_stateParameters中的AllowRemoteConnection的值为1.
3.设置web.config(每个web application)
system.web 下增加:
<sessionState cookieless="UseCookies" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>
<machineKey validationKey="7285450293EE699F349F7DB9BEA1F0B9EE1F045F" decryptionKey="73035EE41002AFB88D12A1B08559389CA351359A232649B3" validation="SHA1" />
以上,测试成功,记录之。