2013-11-23 10 views
1

我需要在會話中保存信息,並使其可供服務器場中的所有Web服務器使用,因爲HTTP會話不會粘滯。當負載平衡器不「粘」時,如何將數據保存在MVC的會話中?

我認爲,這意味着我需要使用shared-in memory session state provider.

話雖這麼說,實際上,我怎麼把數據放到那家商店的代碼?

TempData,ViewBag和所有其他變體似乎只能在一個頁面上工作,並且我需要一些可在多個頁面中訪問的變量。

+0

配置會話狀態使用[SQL或超出進程內(http://msdn.microsoft.com/en- us/library/aa478952.aspx)提供程序並像往常一樣使用'Session' ...不知道你的問題在哪裏... –

回答

4

有不同的會話狀態提供程序,包括SQL Server會話狀態提供程序。你在你的web.config

http://support.microsoft.com/kb/317604

配置它,然後正常使用Session容器。

補充:

HttpContext.Current.Session.Add(key, val); 

要檢索:

object val = HttpContext.Current.Session["key"] 
+0

我忘記了MVC,現在所有的ASP.NET編程......我如何正常使用會話?我一直在谷歌搜索的答案,找不到它(陷入關於Tempdata的答案) – LamonteCristo

+0

編輯我的答案。 –