如何在两台服务器之间共享 ASP.NET Core 3 中的会话?

SGP*_*SGP 9 c# session-variables session-state sql-session-state .net-core-3.0

如何在 ASP.NET Core 3 中的两台服务器之间共享会话(负载平衡)?会话可以在多个 Web 服务/API 和主 ASP.NET MVC 应用程序之间共享吗?

我对 .NET Core 3 非常陌生,我习惯于在 ASP.NET Framework MVC 中使用会话状态(它就像在站点的 IIS 配置中使用相同的机器密钥一样简单),但我已经了解到.NET Core 3 的一切都发生了变化,此外,随着新版本的推出,许多文档都非常过时/过时,.NET Core 1 与更高版本无关,2 与 3 无关,而且它需要许多 NuGet 包可能会或可能不会再工作。

目前我已经成功地使用 .NET Core 3 实现了 SQL 会话存储,但是机器密钥的选项不再出现在 IIS 中,我真的不知道如何在appsettings.json文件中配置它们(如果仍然使用的话)。

我们的设置是 2 个服务器,它们必须共享会话信息,使用 F5 负载平衡器,我们使用 .NET Framework MVC 的旧应用程序配置如下,我需要帮助来实现相同的结果,但使用 .NET Core 3。

我通读了https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/web-farm?view=aspnetcore-3.1但它并没有真正解释如何实际做任何事情

还有这个https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed?view=aspnetcore-3.1帮助配置了 SQL 会话存储,但不是如何在两台服务器之间共享

以及http://www.intstrings.com/ramivemula/articles/jumpstart-44-sql-server-based-session-state-in-asp-net-core-mvc-application/