在我的一个控制器操作中,我返回一个非常大的 JsonResult
来填充一个网格。
我得到了以下 InvalidOperationException
异常:
使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了 maxJsonLlength 属性上设置的值。
遗憾的是,将 web.config
中的 maxJsonLength
属性设置为更高的值不会显示任何效果。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"/>
</webServices>
</scripting>
</system.web.extensions>
我不想像 这个 SO 答案中提到的那样将它作为字符串传递回去。
在我的研究中,我偶然发现了一篇关于 这个的博客文章,其中建议写一篇自己的 ActionResult
(例如 LargeJsonResult : JsonResult
)来绕过这种行为。
这是唯一的解决办法吗?
这是 ASP.NET MVC 中的一个 bug 吗?
我错过了什么吗?
如果你能帮忙,我将不胜感激。