System.ArgumentException: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
这次一次.NET Framework MVC中的报错
猜测是框架默认会先将post请求中body携带的json进行解析,然后将解析后得到的参数填入对应接口的参数中
但是JavaScriptSerializer默认只能序列化2M内的json字符串,超过2M就会报错
解决方法1:修改maxJsonLength大小,改为5M
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000" />
</webServices>
</scripting>
</system.web.extensions>
解决方法2:删除接口中的参数,绕过框架的默认json解析,改为自己解析
使用Request.QueryString获取Url中参数
Length = Convert.ToInt32(Request.QueryString["Length"])
使用Request.InputStream获取body中参数
Stream req = Request.InputStream;
req.Seek(0, System.IO.SeekOrigin.Begin);
json = new StreamReader(req).ReadToEnd();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2023-01-11 解决使用go get 下载模块下载超时的问题