http提交数据有两种形式,get和post,不知道的同学请联系度娘。
1、aspnet:MaxHttpCollectionKeys
业务场景:业务很简单,手机端读取本地通讯录,将所有通讯录提交到后台,后台进行业务过滤,返回已属于当前用户好友所在的企业
服务端接口定义如下:
[HttpPost] public List<string> IsInEnt([FromBody]List<string> mobilePhs)
问题描述:如果提交给后台的通讯录超过一定数量,后台接收到的mobilePhs为null,经过反复调试,发现到超过1000条通讯录,就会出现这样的问题,查了相关资料后发现,asp.net默认允许request中key的最大数量为1000。
解决方法:
在web.config中,添加一段配置:
<!--请求提交的最大键值数--> <add key="aspnet:MaxHttpCollectionKeys" value="5000" /> <!--请求提交的做大Json序列化属性数--> <add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
2、ASPMaxRequestEntityAllowed
IIS6.0对提交数据长度也有限制,默认为200k,可在C:\Windows\system32\inesrv\metabase.xml中进行修改:
AspMaxRequestEntityAllowed="204800"
注:此配置有安全隐患,谨慎修改,一般200k数据是足够满足业务场景了,如果再大的数据,建议使用文件传输了。
3、未完待续。。。