Asp.net 多服务器 Session共享

这篇文字介绍的是SqlServer共享Sessin的方法

目录

  1. 建立Sqlserver数据库
  2. 配置web.config
  3. 修改iis配置

建立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感觉可行。