Azure Redis缓存的会话状态不适用于多个实例

发布于 2021-02-01 12:18:32

我正在使用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>

为了使它在多个Web服务器上运行,我还有什么需要做的吗?在教程中,我只发现了上面有关sessionState的配置。

谢谢你的帮助!

关注者
0
被浏览
164
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看