如何在Azure Web角色之间维护Forms身份验证会话状态?

时间:2011-10-25 17:04:13

标签: asp.net azure session-state

我在Azure上部署了一个启用了RIA Services的Silverlight Business应用程序,该应用程序使用了表单身份验证。

要在Azure上启用Forms身份验证,我已经从Azure Toolkit实现了表存储提供程序。它几乎可以工作,但我在保持会话状态方面存在问题。登录后,反复按F5刷新页面,我在登录和注销之间切换。

我有两个Web角色实例,如果我禁用其中一个,它就像一个魅力。但是一旦启用第二个实例,它就会回到这个零星的行为。很明显,由于负载平衡,状态不会被保留。好吧,我忘了实现Session提供程序,所以我做了:

<sessionState mode="Custom" customProvider="TableStorageSessionStateProvider">
  <providers>
    <clear />
    <add name="TableStorageSessionStateProvider"
          type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageSessionStateProvider"
          applicationName="AppAdmin"
          />
  </providers>
</sessionState>

可悲的是,这没有用。

更新:实际表(会话)在表存储中创建,但没有数据存在。

有任何想法和/或建议吗?

1 个答案:

答案 0 :(得分:1)

您是否在web.config中设置了机器密钥?