我有一個複雜的,非常複雜的ASP.NET
WebForm與大ViewState
。目前,爲了降低瀏覽器的影響(通過縮小__VIEWSTATE隱藏輸入字段),我使用PageAdapter
和SessionPageStatePersister
將ViewState
存儲在Session
內。ViewState,會話和狀態服務器
但是,我想將會話模式從InProc
更改爲StateServer
,以便我可以降低RAM使用率並避免網站重新啓動和應用程序池回收問題。我是否需要將ViewState退出會話?還是可以保持原樣?在未來,我也想要負載均衡,但是我聽說我只能使用「粘性會話」,這樣可能不會強制我進入StateServer。
注意:我目前使用.NET 2.0
(集成),但我願意更新。
你應該沒有問題,因爲ViewState的是序列化的。不過,我希望您閱讀Scott Hanselman對此的看法 - http://www.hanselman.com/blog/MovingViewStateToTheSessionObjectAndMoreWrongheadedness.aspx - 我們在具有大ViewStates的頁面上更有效地使用了HttpCompression,因此避免了任何會話內存開銷。粘滯會話將確保用戶轉到單個服務器;如果你今天內存不足,那麼他們不會幫助 - 他們可以幫助解決問題,如果用戶能夠在每次請求時能夠訪問不同的服務器,則必須分發狀態。 – dash 2012-04-12 17:03:33