2015-05-08 64 views
1

我正在使用Azure Redis緩存來存儲用戶的會話以通過多個實例共享它。 但是這不起作用...我登錄後,只要負載平衡器將我的請求指向另一個Web服務器,我就在另一臺服務器上登錄。 這是我目前的web.config:具有Azure Redis緩存的會話狀態不適用於多個實例

<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的配置。

感謝您的幫助!

BR, 代謝

+1

當然,我在這裏發佈quetsion後找到了解決方案:)。我在服務器上有不同的machineKeys,所以認證cookie無法在其他Web服務器上解碼......我沒有在有關Redis緩存的任何教程中找到這些信息。但它現在接縫工作 – metabolic

+0

很高興你找到解決方案。如果你可以請關閉這個問題,那就太好了 - 幫助那些想回答問題的人把注意力集中在那些需要注意的問題上。謝謝。 – JonCole

回答

1

我發現這個問題。 我在服務器上有不同的machineKeys,因此身份驗證Cookie無法在其他Web服務器上解碼。

相關問題