IIS 7 和 ASP.NET 状态服务配置

IIS 7 和 ASP.NET 状态服务配置

我们有 2 台负载均衡的 Web 服务器,出于显而易见的原因,我们想摆脱粘性会话。我们尝试的方法是使用其中一台机器上的 ASP.NET 状态服务来存储两台机器的会话状态。我意识到最好有一台专门用于存储会话的服务器,但我们没有足够的资源。

我已经关注这些说明毫无效果。会话仍然没有在两个服务器之间共享。

我没有收到任何错误。我对两台服务器使用相同的机器密钥,并且我已将应用程序 ID 设置为两台服务器之间匹配的唯一值。关于如何解决此问题,有什么建议吗?

更新:

我在本地计算机上打开了会话状态服务,并将两台服务器都指向本地计算机上的 IP 地址,它按预期工作。会话在两台服务器之间共享。这使我相信问题可能是我没有使用独立服务器作为我的状态服务。也许问题是因为我在一台服务器上使用 IP 地址 127.0.0.1,然后在另一台服务器上使用不同的 IP 地址。不幸的是,当我尝试使用网络 IP 地址而不是本地主机时,主机服务器的连接似乎不起作用。如果您能告诉我我的怀疑是否正确,我将不胜感激。

答案1

如果您想要两全其美,您应该看看 Windows AppFabric 服务。它们为 ASP.NET 提供了一种带有直接会话状态提供程序的缓存机制。这允许您在 Web 服务器之间启动内存中的分布式缓存,并利用它们进行潜在的故障转移和会话状态存储。它比状态服务器或 SQL 后端快得多,并且具有内存中和 Web 服务器本身的所有优点。

相关内容