當負載均衡器就位時,將用戶數據存儲到HttpContext.Current.Session
是否安全?HttpContext.Current.Session將與負載均衡器一起工作嗎?
如果沒有,那麼跨多個Web服務器在內存中存儲用戶數據的正確方法是什麼?
當負載均衡器就位時,將用戶數據存儲到HttpContext.Current.Session
是否安全?HttpContext.Current.Session將與負載均衡器一起工作嗎?
如果沒有,那麼跨多個Web服務器在內存中存儲用戶數據的正確方法是什麼?
您仍然可以使用會話狀態,但您希望使用外部會話狀態提供程序而不是默認值InProc mode - 值和變量存儲在本地Web服務器的內存中。
你有幾個選項 -
某些負載均衡器可以使用ip affinity,這意味着來自給定ip地址的所有請求都會轉到同一臺服務器。如果啓用了ip affinity的負載平衡器,則可以使用in-proc會話變量。如果你不這樣做,那麼你需要使用StateServer或SQL Server會話提供程序。
@mimo:One這裏需要注意的是,Global.asax.cs中的會話相關事件在您將其設置爲除In-Proc以外的任何內容後將不會執行 – SamGhatak