Bla*_*ise 11 jquery json json.net asp.net-web-api
我在页面上的表单有点太大了.它收集月度测量数据.请看一下样本:
{
"Year":2013,
"Month":3,
"Records":[
{"Id":0,"Date":"3/1/2013","RiverSection":5,"UserNumber":56},
{"Id":0,"Date":"3/1/2013","RiverSection":7,"UserNumber":200},
{"Id":0,"Date":"3/1/2013","RiverSection":8,"UserNumber":556},
{"Id":0,"Date":"3/2/2013","RiverSection":5,"UserNumber":56},
{"Id":0,"Date":"3/2/2013","RiverSection":7,"UserNumber":200},
...
...
{"Id":0,"Date":"3/31/2013","RiverSection":7,"UserNumber":200}
}
Run Code Online (Sandbox Code Playgroud)
所以我将大数据发布到APIController.
我在使用Visual Studio调试器服务器的本地计算机上工作正常.但是我将代码上传到服务器(IIS 6)之后.它给了一个500 Internal Server Error.
我尝试发布一些示例数据并检查字符串化json的长度.
在一个样本数据集中,我的json的长度是5743,我得到了"成功".但如果json大小达到17345,我得到了一个500 Internal Server Error.
所以我试图增加json的限制.基于这篇文章
在Web.Config:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
Run Code Online (Sandbox Code Playgroud)
但它没有用.
还有另一个答案,使用:
var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
Run Code Online (Sandbox Code Playgroud)
但是我们应该在哪里放置这些代码?在Global.asax?
请注意我使用的是IIS 6.所以这是一个问题吗?如何正确增加json大小的限制,以便我的数据可以达到WebApi操作?
谢谢你的帮助.
And*_*NET 19
尝试添加aspnet:MaxJsonDeserializerMembers下appSettings在web.config
<add key="aspnet:MaxJsonDeserializerMembers" value="20000"/>
Run Code Online (Sandbox Code Playgroud)
来源: 具有大量表单键,文件或JSON有效负载成员的ASP.NET请求失败,但有异常
| 归档时间: |
|
| 查看次数: |
27358 次 |
| 最近记录: |