3

我们有一个运行 ASP.NET Web 应用程序的 4 个服务器集群,使用 ASP.NET 状态服务器服务进行会话。在 4 台服务器之一上运行 ASP.NET 状态服务器服务,其他服务器配置为查看此内容。很多时候我们必须给服务器打补丁,而在状态服务器上打补丁需要几分钟的停机时间。

有没有办法在一个集群中配置两个以上的 ASP.NET 状态服务器服务,所以如果一个出现故障,另一个会接管?

4

3 回答 3

1

我会研究会话状态分区。这里有很好的信息:http: //blog.maartenballiauw.be/post/2008/01/ASPNET-Session-State-Partitioning-using-State-Server-Load-Balancing.aspx

于 2008-09-16T16:25:50.057 回答
1

ASP Stateserver 不会从第一个节点复制会话。

但至少在下次重试时保持您的 Web 正常运行。

在MSCS集群环境下实现ASP状态服务的思考

于 2010-11-17T18:37:05.897 回答
0

如果第一个失败而不会丢失存储在第一台服务器上的会话信息部分,则第二个 ASP.NET 状态服务器服务无法接管。第二台服务器将很好地处理新会话。要获得这种行为,您需要设置会话状态分区(请参阅Jon Galloway 的回答)。

这种行为是设计使然;ASP.NET 状态服务不会在服务器之间复制会话数据。

如果您需要将进程外会话数据复制到多台服务器,则必须使用其中一种商业产品(例如 ScaleOut)或等待 Microsoft Project Velocity 成为生产就绪。就我个人而言,我急切地等待 Velocity 的发布,一旦我对产品有信心,我就会从 ASP.NET 状态服务器切换到它。

这个链接有更多关于 ASP.NET 会话状态的速度。

于 2009-03-11T12:52:46.670 回答