【问题标题】:Session State with Azure Redis Cache not working on multiple instancesAzure Redis 缓存的会话状态不适用于多个实例
【发布时间】:2015-05-26 10:09:30
【问题描述】:

我正在使用 Azure Redis 缓存来存储用户的会话,以便在多个实例上共享它。 但这不起作用...我已登录,一旦负载平衡器将我的请求定向到其他 Web 服务器,我就会在其他服务器上注销。 这是我当前的 web.config:

<sessionState mode="Custom" customProvider="RedisSessionStateStore">
  <providers>
    <add name="RedisSessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="HOSTNAME.redis.cache.windows.net" accessKey="ACCESSKEY" ssl="true" />
  </providers>
</sessionState>

在门户中我可以看到,应用程序将数据写入缓存,因此连接正常。 如果有任何帮助,我的身份验证部分如下所示:

<authentication mode="Forms">
  <forms loginUrl="Welcome.aspx" defaultUrl="default.aspx" cookieless="UseCookies" timeout="60000" />
</authentication>

我还需要做什么才能让它在多个网络服务器上运行吗? 在教程中,我只找到了上面关于 sessionState 的配置。

感谢您的帮助!

兄弟, 代谢

【问题讨论】:

  • 当然,我在这里发布问题后立即找到了解决方案:)。我在服务器上有不同的 machineKey,因此无法在其他 Web 服务器上解码身份验证 cookie……我在任何有关 Redis 缓存的教程中都没有找到该信息。但它现在可以工作了
  • 很高兴您找到了解决方案。如果您可以关闭这个问题,那就太好了 - 帮助想要回答问题的人将时间集中在需要关注的问题上。谢谢。

标签: asp.net azure redis


【解决方案1】:

我发现了问题。 我在服务器上有不同的机器密钥,因此无法在其他 Web 服务器上解码身份验证 cookie。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2012-05-21
    • 2013-06-12
    • 2014-12-24
    • 2014-11-11
    相关资源
    最近更新 更多