我正在使用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的配置。
谢谢你的帮助!
我发现了问题。我在服务器上具有不同的machineKeys,因此无法在其他Web服务器上解码身份验证cookie。