請看下面的動作。當用戶第一次導航時,創建一個對象,然後當他在頁面中導航時,再次訪問Action,但通過Ajax請求和數據消除器(工作表=空)。如何將數據保存在MVC控制器的內存中?
private static List<Worksheet> worksheets;
public ActionResult DoTest()
{
if (Request.IsAjaxRequest())
{
return PartialView("_Problems", worksheets[1]);
}
// first time
worksheets = new List<Worksheet>()
{
new Worksheet("Hoja 1", ...),
new Worksheet("Hoja 2", ...)
};
return View(worksheets[0]);
}
我的第一個溶液的變量工作表設置爲靜態的,但我認爲這不是一個好的做法。我正在做一個好方法還是有另一個tweeks?
謝謝烏利塞斯,它的工作出來了!只是一個答案,它喜歡有趣的如何工作會話字典,想象一下瀏覽器是關閉的。如果瀏覽器關閉,我如何堅持會話直到60分鐘(含)。 –
@DarfZon Session對象的默認值是20分鐘(你可以在配置文件中更改它)。除非您之前清除它,否則即使用戶關閉瀏覽器,它也會在服務器端保持活動狀態;但是,這可能會導致服務器爲用戶分配不同的會話對象(具體取決於您的身份驗證機制) – Ulises