如何在两台服务器之间共享ASP.NET核心3中的会话(负载平衡)?是否可以在多个web服务/ app和主ASP.NET MVC应用程序之间共享会话?
我对.NET Core3非常陌生,我习惯于在ASP.NET框架MVC中使用会话状态(在那里它就像在站点的IIS配置中使用相同的机器密钥一样简单),但我了解到.NET Core3的一切都发生了变化,此外,随着新版本的推出,许多文档都非常过时/过时,.NET Core1与更高版本无关,2与3无关,而且它还需要许多NuGet包,这些包可能不再工作,也可能不再工作。
目前,我已经成功地用SQLCore3实现了.NET会话存储,但是机器密钥的选项不再出现在.NET中,我真的不知道如何在appsettings.json文件中配置它们(如果还在使用的话)。
我们的设置是2个服务器,必须都共享会话信息,与F5负载均衡器,我们的旧应用程序使用.NET框架MVC是这样配置的,我需要帮助实现相同的结果,但与.NET核心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/
发布于 2021-06-03 03:21:08
您是否配置了DataProtection?我已经有一段时间没有使用它了,但从内存来看,这是分布式会话存储在.NET核心中工作的关键部分
这里有一些关于.NET核心中的会话和DataProtection的额外阅读,以及MachineKey - https://andrewlock.net/an-introduction-to-the-data-protection-system-in-asp-net-core/的额外提及
发布于 2020-08-27 07:19:14
您的用户的会话身份验证密钥存储在其web浏览器的cookie中。无论用户连接到哪台服务器,他们都会将自己的cookie传递给该服务器,服务器将使用身份验证密钥通过SQL对其会话进行身份验证。
发布于 2021-06-09 18:51:19
https://stackoverflow.com/questions/60768632
复制相似问题