如何将会话状态从 InProc 移动到 SQLServer

How to move the session state from InProc to SQLServer

我目前在我的 .net web 项目中使用 InProc 会话状态模式。我想将其从 InProc 移动到 SQLServer 会话状态,因为我将使用负载平衡器。我需要遵循哪些步骤?

在我的 C# 代码中,我使用如下会话。

    Session["MyValue"] = "Test" // To set
    string value = Session["MyValue"] //To read

那么我需要对源代码进行哪些更改?使用 SQLServer 会话状态时,我不能使用上面相同的代码吗?

你真的应该仔细阅读已经提供的文章。多年来,他们已经成功地向几个人解释了您的情况。 除非您在会话中存储不可序列化的数据,否则无需更改您的代码。 您还应该验证您没有在会话状态中存储大量数据,因为 SQL-服务器会话状态 - 虽然比 inproc 更可靠 - 速度较慢。

另一篇文章供您参考: https://support.microsoft.com/en-us/kb/317604

遵循此文档。 https://msdn.microsoft.com/en-us/library/ms178586.aspx

您需要使用 Aspnet_regsql.exe 工具安装会话状态数据库并在 web.config.

中进行修改
<configuration>
  <system.web>
        <sessionState mode="SQLServer"
             sqlConnectionString="Integrated Security=SSPI;data 
             source=SampleSqlServer;" />
  </system.web>
</configuration>