我在这个主题上找到了许多问答,但我仍然没有弄清楚我们服务器的正确配置。背景如下:我们有两台 Web 服务器位于负载均衡器后面,必须确保用户不会丢失他们的会话。
- Web 服务器为 IIS7/ASP.NET 4。
- 我们目前无法设置单独的会话状态服务器,因此必须在 LB 上使用粘性会话。
据我所知,必须确保以下内容:
- 在两台 Web 服务器上设置相同的机器密钥。
- 使用预编译站点,以便在两台机器上获得相同的程序集命名。
- 我们必须将粘性会话基于 IP 地址或 cookie(后者更可取)。
是否需要预编译站点?(我知道这样做更快,但我们会失去一些灵活性)
由于我们有粘性会话,因此是否正确地认为只有在用户会话超时并因此被转到另一台服务器时(这意味着包含视图状态的回发可能无效,除非它们具有相同的机器密钥),才会影响相同的机器密钥?