使用 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