相當於我有一個現有的網絡形式的網站,網頁農場上運行(多臺Web服務器,每個請求是無粘性)。ASP.NET MVC - 什麼是ViewState的
其中一項任務是從第三方Web服務中檢索大量數據。這是一個昂貴的過程(就應對時間而言)。最佳的解決方案是首先獲取所有數據並將其粘貼到頁面的ViewState中(作爲列表<產品>。然後我們有一個網格允許我們瀏覽該列表的產品。對於下一頁的每個請求,我們因爲我們已經在ViewState中緩存了數據,所以不需要重新訪問緩慢的Web服務。
那麼,如何使用MVC來實現這一點?如果我使用的是經典ASP,我會序列化列表並在形式的隱藏字段持有它。
但是使用MVC時,首選的方法?如前所述,我使用的非粘性會話,以便在服務器上不能依靠緩存。
如果我要將它放在隱藏字段中,那麼首先壓縮數據(zip)以減少頁面大小是否明智?再一次,這裏的「最佳實踐」是什麼?
任何非常感謝/所有建議
格里夫
PS - 我知道有類似的帖子在那裏(例如ASP.NET MVC and ViewState),但他們不太提供我所需要的細節。
即使在傳統的ASP.NET中,您也不應該將所有這些垃圾都粘貼到每次往返 - 這就是會話變量的優點。如果你不喜歡這個,只需在服務器端使用任何其他數據緩存策略。 – Carsten 2012-02-28 10:54:30