← 返回列表

ZZ: ASP.NET WebApi(post) Json请求太大,无法反序列化问题解决方法

ASP.NET WebApi反序列化时JSON数据量过大时出现错误。

ZZ: ASP.NET WebApi(post) Json请求太大,无法反序列化问题解决方法

最近使用 ASP.NET 开发一个WebApi程序时遇到的问题,请求参数为json格式,返回参数也为json格式。

控制器的方法接收参数为一个具体类的形参,运行时(post请求),asp.net帮我把json字符串反序列化为我自定义的类对象。但是我发现当post的请求json数据量太大时,反序列化失败,导致接收到的类对象为null。

解决方法如下:

修改web.config配置两个节点: <system.web>节点下<httpRuntime targetFramework="4.5" />修改为

<httpRuntime targetFramework="4.5" maxRequestLength="102400" 
        executionTimeout="200" enable="true" />

<system.webServer>节点下新增(如有则修改)

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="20971520" />
  </requestFiltering>
</security> 

需要注意的是:第一个节点maxRequestLength单位是kb, executionTimeout单位是s;第二个节点maxAllowedContentLength单位是byte, 所以上面是100M,200s;下面是20M

ps: 如果配置了这些,还是提示超出限制,则应该怀疑是否有Nginx或其它代理程序,看看其上传文件大小限制(http、https限制可能不一致) ———————————————— 版权声明:本文为CSDN博主「ThinkinLiu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/andy_5826_liu/article/details/92995776

评论

站内评论 · 提交后立即公开 · 无需审核

请勿灌水或刷屏;过快提交或频繁发言将被拒绝。

还没有评论,来写下第一条吧。