2009-06-21 75 views
21

有没有人有关于如何选择拥有多个实例时如何在Azure中管理状态的信息?看起来InProc将毫无价值,你将不得不拥有另一个状态服务器实例,或者使用数据存储来跨用户存储用户状态。Microsoft Azure如何处理会话状态?

或者它执行粘性会话,所以InProc是你所需要的。

在这里找到了答案: Azure Forums

+0

此链接已死亡,有谁知道这个信息是否在其他地方? – andynormancx 2011-01-24 17:26:04

+0

请参阅下面的答案,其中包含指向Cache常见问题解答的链接以及指向新的ASP.NET Universal Providers(新的Session State提供程序本身支持SQL Azure)的详细信息的链接。 – 2011-12-21 04:00:15

回答

18

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

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

2

不需要会话相关性,因此使用依赖于Azure storageSQL Azure storage的会话状态提供程序是最佳选择。

对于一些遗留应用程序,您可能仍然需要会话亲缘关系。对于这些情况,Azure load balancerWeb farm之间的ARR是一个选项。

更多细节在http://go.archims.fr/hW54Xz

13

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

有关缓存大小,定价和SLA的所有信息是here

编辑:Windows Azure Web角色模板现在包含新的ASP.NET Universal Providers,包括支持SQL Azure的会话状态提供程序。查看Nate Totten的blog post了解更多详情。现在Windows Azure提供了缓存角色和内存缓存(两者都可以通过最新工具和v1.7 SDK轻松配置)。内存中的缓存利用一定百分比的内存(如果你的应用程序中不需要太多的内存,可以使用“免费”选项),将缓存扩展到一个现有的角色实例中。