Session Azure和进程中会话

Session Azure和进程中会话,session,azure,inproc,Session,Azure,Inproc,我的网站(ASP.Net 4.0 C#)托管在Azure服务器上,有多个实例。我的会话状态模式是“InProc”。不知何故,它不能在Azure实例上工作,不能正确维护状态。请给我一些建议 问候 Vivek如果您有多个实例并且正在使用InProc会话,那么会话数据将不起作用-因为它不会在实例之间共享 Azure负载平衡您的HTTP请求,并可能将每个客户端HTTP请求发送到不同的服务器实例 如果要使用会话状态,则需要使用共享会话状态提供程序,例如: SQL会话状态提供程序(尽管我认为这对SQL A

我的网站(ASP.Net 4.0 C#)托管在Azure服务器上,有多个实例。我的会话状态模式是“InProc”。不知何故,它不能在Azure实例上工作,不能正确维护状态。请给我一些建议

问候
Vivek

如果您有多个实例并且正在使用InProc会话,那么会话数据将不起作用-因为它不会在实例之间共享

Azure负载平衡您的HTTP请求,并可能将每个客户端HTTP请求发送到不同的服务器实例

如果要使用会话状态,则需要使用共享会话状态提供程序,例如:

  • SQL会话状态提供程序(尽管我认为这对SQL Azure有一些限制,因为它不能使用SQLAgent代码定期清除状态)
  • 演示Azure表会话状态提供程序(不受官方支持,有时报告为错误)
  • 最新的AppFabric会话状态提供程序(目前由MS推荐)-请参阅

    • 补充斯图尔特的答案:AppFabric缓存是缓存即服务,与任何虚拟机实例无关。这项服务几周前上线了。AppFabric团队提供了一个使用缓存的会话状态提供程序,只需要简单的web.config copy-n-paste

      由于Stuart提到的原因,我不会依赖SQL Azure或表存储作为会话缓存

      在名为“使用缓存服务构建Windows Azure应用程序”的中有一个很好的实践实验室-我将介绍一下,因为其中一个主题是使用AppFabric缓存配置会话状态

      我在中提供了更多的信息。

      AppFabric缓存服务现在处于活动状态


      干杯。

      我想补充一点,我为Azure提供了一个开源的会话状态提供程序,可以从这里下载