22

当您选择拥有多个实例时,是否有人知道 Azure 中如何管理状态?InProc 似乎毫无价值,您必须拥有另一个状态服务器实例,或者使用数据存储跨服务器存储用户状态。

或者它是否实现了粘性会话,所以 InProc 就是你所需要的。

在这里找到答案: Azure 论坛

4

4 回答 4

18

表存储将是最合乎逻辑的地方。其他服务器场类型设置也使用数据库表来存储会话信息。

查看 Windows Azure SDK 示例中的 AspProviders 项目。它有一个使用 Azure 表存储的 SessionState 提供程序。

于 2009-06-21T03:23:59.033 回答
13

AppFabric Cache 刚刚投入生产,这是管理会话数据的绝佳方式。事实上,它有一个自定义会话状态提供程序,只需放入 web.config。你可以在 Azure 门户中找到它。

有关缓存大小、定价和 SLA 的所有信息都在这里

编辑:Windows Azure Web 角色模板现在包括新的 ASP.NET 通用提供程序,包括支持 SQL Azure 的会话状态提供程序。查看 Nate Totten 的博客文章了解更多详情。

编辑 2012 年 7 月 8 日Windows Azure 现在提供缓存角色和内存缓存(都可以使用最新工具和 v1.7 SDK 轻松配置)。内存缓存将缓存分布在您现有的角色实例中,利用一定百分比的 RAM(如果您的应用程序中不需要太多 RAM,这是一个不错的“免费”选项)。

于 2011-04-30T03:56:51.853 回答
2

不需要会话亲和性,因此使用依赖Azure storage或是SQL Azure storage最佳选择的会话状态提供程序。

对于某些遗留应用程序,您可能仍需要会话亲和性。对于这些情况,介于Azure load balancer和 之间的ARRWeb farm是一个选项。

更多详情请访问http://go.archims.fr/hW54Xz

于 2011-03-25T23:13:19.690 回答
1

另一种选择是使用粘性 http 会话:

http://dunnry.com/blog/2010/10/14/StickyHTTPSessionRoutingInWindowsAzure.aspx

然后你可以使用 InProc。

于 2012-05-08T13:41:37.037 回答