Asp.net 多服务器 Session共享
这篇文字介绍的是SqlServer共享Sessin的方法
建立Sqlserver数据库
CMD进入.NET安装目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319
这个是我的,你们的可能不一样。
执行命令
aspnet_regsql.exe -S <SQL Server IP> -U <User Name> -P <Password> -ssadd -sstype c -d <Database Name>
配置web.config
在<system.web>
下加入下面代码:
<machineKey validationKey="87ADA11B7C1D13B3CE36B42E34539DF8EF4FA4C0D64B3793BB7871DB5CD06DAC3A3BD4EE0D6AB66F62B4E7A75ECA039E433ED6B87E183F2C6B4E76C11A557CF9" decryptionKey="E81988AA6EB6CBFE151FC831F9AFDC933A17BD32D5BFC95B4FC1510992071B95" validation="SHA1" decryption="AES" />
<sessionState mode="SQLServer" sqlConnectionString="data source=<服务器IP>;database=<数据库名称>;user id=<数据库账号>;password=<数据库登录密码>" allowCustomSqlDatabase="true" cookieless="false" timeout="100" />
其中 machineKey可以在: http://www.fishlee.net/tools/machinekeygenerator
这个网站生成。多台服务器的machineKey必须相同。
修改iis配置
修改iis网站。高级设置,将多台服务器的ID的值设置为相同的值。
个人仅测试了将session写入数据库。没有测试多台服务器共享。通过查看数据库存储过程TempGetAppID
感觉可行。