我正在使用MS Virtual Earth AJAX控件在我的ASP.Net 3.5站点的地图上绘制自定义边界。我有一个WCF服务,我从ASP.Net调用它来返回我需要绘制的点。在一个例子中,我需要绘制大约40,000个点。
每当我需要绘制的点数(从WCF服务返回的行数)超过25,000时,我都会得到以下错误。
使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。
我尝试将web.config中的maxJsonLength属性修改为2147483647,但更改此值无效。无论我将值设置为什么,当我尝试绘制超过25,000个点时,我总是得到一个错误。我甚至尝试将其设置为"ABC“,但当我的WCF服务返回的记录少于25,000条时,我的网站仍然可以工作。
可以尝试通过WCF服务进行更改
var jsonResult = Json(data, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;