windowsazure&;ASP.NET会话

windowsazure&;ASP.NET会话,asp.net,session,azure,Asp.net,Session,Azure,我有一个ASP.NET web应用程序,它在用户浏览页面时存储会话信息。如果我将这样的应用程序部署到Windows Azure,我会有任何问题吗?您不会注意到使用InProc的单个实例部署有什么不同,但是如果您计划运行多个web角色,您确实需要依赖进程外Blob&Table。(在Azure load Balancement,AFAIK中,没有办法让用户与同一个实例保持联系。)正如Nariman所说,你不能拥有服务器亲和力-负载平衡超出了你的控制范围。您可以使用表存储或SQL Azure作为会话状

我有一个ASP.NET web应用程序,它在用户浏览页面时存储会话信息。如果我将这样的应用程序部署到Windows Azure,我会有任何问题吗?

您不会注意到使用InProc的单个实例部署有什么不同,但是如果您计划运行多个web角色,您确实需要依赖进程外Blob&Table。(在Azure load Balancement,AFAIK中,没有办法让用户与同一个实例保持联系。)

正如Nariman所说,你不能拥有服务器亲和力-负载平衡超出了你的控制范围。您可以使用表存储或SQL Azure作为会话状态。我认为将会话状态存储在blob中没有多大价值

请参见2010年8月的SQLAzure博客,了解如何在SQLAzure中实现会话存储。这将允许您在扩展时跨实例管理会话状态

编辑2014年6月16日-Redis缓存支持此功能。看


编辑2012年5月23日-哇,自从我发布这篇文章以来,很多东西都变了。SQL Azure作为会话状态提供程序(通过通用提供程序,从v1.4开始提供)以及Windows Azure缓存得到了充分支持。StackOverflow answer中提供了更多详细信息。

随着2012年10月Azure SDK的发布,他们提供了一个特殊的会话提供程序,可以使用“同处角色缓存”作为会话的特殊后端。它允许您使用角色级缓存,而不必仅从表存储或SQL Azure中进行选择。此处有关于如何配置的说明:


Azure Redis缓存可以做到这一点,请参阅回答中链接的Azure Redis缓存(预览)ASP.NET会话状态提供程序已死亡。