我有視圖狀態存儲從SharePoint數據查詢,ViewState存儲多少數據?
如果數據可能是非常巨大的,
爲什麼我想在ViewState中存儲的原因是在查詢的數據後過濾器。
但是,我不確定它是否會導致任何性能問題,因爲有很多數據(行和列),因爲我知道viewstate將消耗客戶端瀏覽器的內存。
所以究竟有多少數據可以查看狀態存儲?
我有視圖狀態存儲從SharePoint數據查詢,ViewState存儲多少數據?
如果數據可能是非常巨大的,
爲什麼我想在ViewState中存儲的原因是在查詢的數據後過濾器。
但是,我不確定它是否會導致任何性能問題,因爲有很多數據(行和列),因爲我知道viewstate將消耗客戶端瀏覽器的內存。
所以究竟有多少數據可以查看狀態存儲?
是的,它絕對會導致性能問題,因爲它會增加頁面的大小。由於性能問題,ViewState能夠存儲比您應該存儲在那裏更多的數據。
我會探索其他選項,例如緩存等
緩存,會話狀態... ViewState以外的任何其他內容。 – vcsjones 2011-05-03 03:20:04
ick - Session ... – StingyJack 2011-05-03 15:56:12
ViewState的,如果我沒有記錯,被嵌入在源(尋找<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="xxxxxxxx" />
)。在ViewState中有大量的數據會導致你的頁面在每個請求中發送更多的字節(並且你需要進行POST來訪問該ViewState)。還有解密ViewState數據的成本(儘管我不知道可能會產生什麼樣的影響......)。
希望這會有所幫助!
ViewState不僅會在用戶的瀏覽器中使用內存,還會降低頁面加載的性能,因爲瀏覽器每次都必須發送/接收來自服務器的所有數據。
與其他人一樣,使用服務器端會話狀態或服務器端緩存會更好。
當您使用ViewState時,它已經從服務器獲得並且會導致性能問題。用戶瀏覽器也可能會影響性能。
雖然隱藏字段的最大大小沒有發佈限制 (視圖狀態的實現)並且大多數瀏覽器允許大尺寸,但已知某些 代理服務器將它們限制爲4k。
視圖狀態數據在每次回發時都會發送到服務器和從客戶端發送到客戶端,從而導致用戶每次下載該信息。視圖狀態中存儲的數據越多,頁面加載速度越慢。
但回答你的問題,viewstate沒有大小限制。
你不想使用會話的任何原因? – Avitus 2011-05-03 03:18:13
Avitus,會話可能會消耗服務器的內存,如果有很多用戶同時訪問該頁面,這對服務器來說會很重,對嗎? – sams5817 2011-05-03 08:02:41