【发布时间】: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 缓存的教程中都没有找到该信息。但它现在可以工作了
-
很高兴您找到了解决方案。如果您可以关闭这个问题,那就太好了 - 帮助想要回答问题的人将时间集中在需要关注的问题上。谢谢。