我有ASP.NET頁面,它通過$ .ajax調用webservice並返回json格式的結果。Ajax將json作爲對象數組返回。從某些MAGIC數量的對象開始,它無法輸出
JSON數據是一組對象,每個對象是實體與自己的屬性,例如:
StorageEntity
{
Capacity,
Name,
NameLink,
RelatedEntityName,
RelatedEntityNameLink,
etc..
}
的問題是在一些該死的幻數:
當實體的結果數是2622 - 似乎沒有問題有多少屬性包含StorageEntity - ajax響應失敗!
起初我以爲總數據量太大。所以我減少了一些詳細鏈接屬性的格式。這樣我將結果數據量減少了20%。但是,幻數並沒有改變!
僅供參考:字符串化結果json的長度爲5MB,優化後約爲4MB。 我知道它太多了,會考慮它。
但是,請解釋我 - 爲什麼它沒有幫助,仍然有2622條記錄沒有輸出(2621是好的),無論數據總量是多少?
p.s.我曾嘗試各種東西,如maxJsonLength,特別是MaxJsonDeserializerMembers - 沒有什麼幫助...
你能檢查該特定記錄的完整性,以確保數據中沒有爆炸的東西嗎?聽起來非常可疑。 – Mathletics 2012-03-19 18:32:06
我查過了。它不依賴於數據。但更奇怪的是:當我指出輸出這個神祕的數量:2622記錄和錯誤發生在ajax - ajax webservice方法本身被調用兩次或更多次!而不是一次,因爲當我調用2621條記錄或更少。 – Alexander 2012-03-20 13:14:09