当您选择拥有多个实例时,是否有人知道 Azure 中如何管理状态?InProc 似乎毫无价值,您必须拥有另一个状态服务器实例,或者使用数据存储跨服务器存储用户状态。
或者它是否实现了粘性会话,所以 InProc 就是你所需要的。
在这里找到答案: Azure 论坛
当您选择拥有多个实例时,是否有人知道 Azure 中如何管理状态?InProc 似乎毫无价值,您必须拥有另一个状态服务器实例,或者使用数据存储跨服务器存储用户状态。
或者它是否实现了粘性会话,所以 InProc 就是你所需要的。
在这里找到答案: Azure 论坛
表存储将是最合乎逻辑的地方。其他服务器场类型设置也使用数据库表来存储会话信息。
查看 Windows Azure SDK 示例中的 AspProviders 项目。它有一个使用 Azure 表存储的 SessionState 提供程序。
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,这是一个不错的“免费”选项)。
不需要会话亲和性,因此使用依赖Azure storage
或是SQL Azure storage
最佳选择的会话状态提供程序。
对于某些遗留应用程序,您可能仍需要会话亲和性。对于这些情况,介于Azure load balancer
和 之间的ARRWeb farm
是一个选项。
更多详情请访问http://go.archims.fr/hW54Xz
另一种选择是使用粘性 http 会话:
http://dunnry.com/blog/2010/10/14/StickyHTTPSessionRoutingInWindowsAzure.aspx
然后你可以使用 InProc。