這更像我試圖找出最乾淨的方式來獲得/存儲/在.NET核心檢查數據對象MVC.NET核心MVC - 會話存儲
的情況是作爲一個討論的例如:
的問題
用戶登錄到Web應用程序 - >創建一個用戶對象服務火災(強類型的列表) 該用戶對象控制應用程序的外觀和感覺,所有的數據在列表靜態的。
此列表被分配給ViewBag並用於Razor頁面。
唯一的問題是每次後續頁面更改或刷新時,用戶對象再次被拉出。
有些人可能不認爲它是壞的,但這個對象一般需要大約7秒火回客戶端渲染頁面,每一個開始變得相當痛苦的頁面上!
旨意解決方案
所以我的理論是,加載用戶模型一次,包括被稱爲「LastLoaded」,然後寫與當前日期時間的用戶模型,以某種形式在MVC會話存儲的DateTime字段。
然後有檢查LastLoaded領域的每一頁上的一些代碼,如果DATEDIFF是說,大於10分鐘,重新加載用戶對象。
所以我需要知道的是存儲MVC List對象和有它生存的頁面加載和刷新的最佳方法。那麼如何檢索該用戶對象並將其應用於ViewBag。
我給的建議非常開放的,即使我的前提是有缺陷的,也有實現這一目標的更好方式。如果您在過去遇到過這個問題以及您實施了哪些解決方案,請告訴我。
Caz
除了在ViewBag中傳遞數據集而不是通過一個單獨的服務調用加載頁面之後,該頁面被加載呢?這聽起來像是你想將這些數據的管理卸載到客戶端,所以客戶端負責獲取/管理這些數據(不管是作爲cookie還是其他內部存儲) – AllMadHare
嘿@ AllMadHare使用API調用和本地存儲爲其他許多事情做到了這一點。雖然如果我這樣做的用戶對象這種渲染剃刀無用,這是我的主要擔心,這樣做,我實際上使用HTML網頁和jQuery與Web API項目在後臺。我還擔心,一旦我使用js去本地存儲,我會丟失我的強壯模型 – Caz1224