当您选择拥有多个实例时,是否有人有任何关于如何在Azure中管理状态的信息?看起来InProc毫无价值,您必须拥有另一个状态服务器实例,或者使用数据存储区来跨服务器存储用户状态。

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

在这里找到答案: Azure论坛

有帮助吗?

解决方案

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

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

其他提示

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

有关缓存大小,定价和SLA的所有信息均为此处

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

EDIT 7/8/2012 Windows Azure现在提供缓存角色和内存缓存(均可使用最新工具和v1.7 SDK轻松配置)。内存缓存利用一定的RAM百分比在一个现有角色实例之间传播缓存(如果你的应用程序中不需要太多内存,那么很好的“免费”选项)。

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

对于某些遗留应用程序,您可能仍需要会话关联。对于这些情况, Azure负载均衡器 Web场之间的ARR是一个选项。

http://go.archims.fr/hW54Xz 的更多详情

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

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

然后你可以使用InProc。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top