Windows Azure 上的网站在拥有多个实例时是否必须是无状态的?

本文关键字:是否 状态 网站 Azure 拥有 Windows 实例 | 更新日期: 2023-09-27 18:33:27

请注意,我说的是Azure网站(WAWS),而不是Azure Web Roles(所以它与这个问题不同)。

我在这里读到Windows Azure使用粘性负载平衡。

这是否意味着 Azure 网站不需要是无状态的?如果我接受用户丢失其会话并在第一次关闭时必须在新服务器上重新启动(并且仅在这种情况下),我可以保留内存中的会话吗?(而不是使用外部会话状态提供程序)

请通过提供一些特定于 Azure 多实例网站的参考来争论。

Windows Azure 上的网站在拥有多个实例时是否必须是无状态的?

查看如何在 Windows Azure 网站上使用 ASP.net 会话状态是否完全回答了您的问题 - 它包括有关会话进程内存储的讨论,这是可能的,但正如您已经知道的那样,在多实例(Azure 或非 Azure)上失败。

呵......

Windows Azure 网站听起来很神奇,但基本上是一种服务,它将请求路由到一个或多个使用 SMB 共享相同文件的服务器,但这些服务器有自己的内存。

您需要使用外部会话状态提供程序来访问不同 Web 服务器之间的会话。WAWS 中的粘性负载平衡允许后续请求路由回同一 Web 服务器,如果当前请求服务器实例不可用,则请求将被路由到另一个实例(如果您配置多个实例,逻辑上),因此如果您将会话存储在内存中,它将在其他服务器中不可用。

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WAD-B329/#fbid=