使用 SQL 会话存储
如果你发现有多个服务器需要共享会话状态,则将其存储在 ASP.NET 进程内存中将不起作用。例如,你可以部署到具有负载均衡器的 Web 场环境中,该负载均衡器以循环方式分发请求。在此环境中,单个用户的请求可由多个服务器提供。
在 web.config 文件中,你可以配置 SQL Server 会话存储。
<configuration>
<system.web>
<sessionState
mode="SQLServer"
sqlConnectionString="Data Source=localhost;Integrated Security=SSPI"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
要创建 sql 架构,请使用 aspnet_regsql 工具。 [SampleSqlServerName]是 SQL Server 的主机名。 -ssadd 告诉工具创建会话状态数据库。 -sstype p 告诉工具使用默认名称 ASPState 创建一个新数据库。
aspnet_regsql.exe -S [SampleSqlServerName] -U [Username] -P [Password] -ssadd -sstype p