簡體   English   中英

在Asp.net中將大於2MiB的對象序列化為Json

[英]Serializing objects bigger than 2MiB to Json in Asp.net

我們目前正在進行性能測試,以確定Kendo UI是否足夠快地滿足我們的需求。 為此,我們需要對大型數據庫(約150列和約100,000行)執行測試。

Kendo UI Grid應該使用ajax調用讀取表行,這些調用將數據作為json字符串返回。 使用我們的測試數據(3-10個字符的隨機字符串),每個請求最多可以處理700個結果行。 更多內容,我們點擊了已經設置為Int32.Max-3

我們打算每頁顯示這么多行,但是這些行上可能有二進制數據。 即使使用20行,該數據也可以輕松超過2 MiB限制,這意味着必須使用Int32設置最大大小。

那么,有什么方法可以序列化長度大於2M的對象?

JSON並非真正用於傳輸大型二進制數據。 如果您希望用戶界面既快又快,則應嘗試將較大的對象拆分為較小的對象,並從json中刪除二進制內容。

例如,您可以重構json的內容,使其僅攜帶指向二進制資源的鏈接。 如果屏幕上實際需要該二進制資源,則可以執行一個單獨的請求。 實際上,您可以並行執行請求:例如,加載json並顯示內容。 用二進制數據加載前N個條目並顯示它。 不要加載其余部分,因為這會減慢頁面渲染時間。

現在,我們使用來自http://www.newtonsoft.com的Json庫來序列化對象。 它不受web.config設置的約束,並且可以處理無限長度afaik的Json請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM