基本上我的问题是我有一个大约在 3 年前开发的网站,而开发时建议该网站将被互联网上的少数人使用。
但现在似乎很多用户都在访问该网站。因此,我们计划创建一个 Web 服务器农场,我们的网站有多个服务器。
开发中的主要问题是旧网站使用InProc
了会话状态,现在由于我们要升级到多个服务器,我们想要更改InProc
为Outproc
即 StateServer 会话状态。
您能否指导我进行此升级,以及如何以简单易行的方式实现它,而不是在使用会话的地方更改每个页面上的编码。
基本上我的问题是我有一个大约在 3 年前开发的网站,而开发时建议该网站将被互联网上的少数人使用。
但现在似乎很多用户都在访问该网站。因此,我们计划创建一个 Web 服务器农场,我们的网站有多个服务器。
开发中的主要问题是旧网站使用InProc
了会话状态,现在由于我们要升级到多个服务器,我们想要更改InProc
为Outproc
即 StateServer 会话状态。
您能否指导我进行此升级,以及如何以简单易行的方式实现它,而不是在使用会话的地方更改每个页面上的编码。
您将在这里拥有的是将您的站点移动到许多 Web 服务器,而这里的实际问题是“如何为每个用户保持与服务器有关的相同状态”。
有两种选择。
第一个选项是设置将用户拆分到服务器的路由器,使用“粘性选项”,这意味着每个用户都坚持到一个服务器的会话,并且只有一个。在这种情况下,使用 inproc 或 sql server session 无关紧要,只要路由器做好。这当然是您不使用任何其他数据库来存储公共数据的情况。
第二种选择是使用 sql 服务器并将会话移动到服务器,但这里服务器必须在一台服务器上,而其他服务器从该服务器获取会话数据。您还可以在 web.config 上为所有 Web 服务器设置相同的密钥机器。
因此,对于这种情况,您需要。
如果您将数据库用于其他数据,则将此数据库与会话数据库放在一起,并且您也可以共享连接到该数据库。这里的要点是数据必须在一台计算机上实时,其他计算机连接到这台主计算机以获取数据。