我有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