我正在使用jQuery的自动完成功能.当我尝试检索超过17000条记录的列表(每条记录的长度不超过10条)时,它超出了长度并抛出错误:
异常信息:
异常类型:InvalidOperationException
异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错.字符串的长度超过maxJsonLength属性上设置的值.
我可以设置无限长度maxJsonLength的web.config?如果没有,我可以设置的最大长度是多少?
在我的一个控制器动作中,我返回一个非常大JsonResult的填充网格.
我收到以下InvalidOperationException异常:
使用JSON JavaScriptSerializer进行序列化或反序列化时出错.字符串的长度超过maxJsonLength属性上设置的值.
不幸的是,将maxJsonLength属性设置web.config为更高的值不会产生任何影响.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"/>
</webServices>
</scripting>
</system.web.extensions>
Run Code Online (Sandbox Code Playgroud)
我不想把它作为一个字符串传回去,就像这个 SO答案中提到的那样.
在我的研究中,我遇到了这篇博文,其中建议编写自己的ActionResult(例如LargeJsonResult : JsonResult)来绕过这种行为.
这是唯一的解决方案吗?
这是ASP.NET MVC中的错误吗?
我错过了什么吗?
非常感激任何的帮助.