我试图发布内容长度约为351383(数组长度为2062)的Json数据,但是将WEBCLIENT的请求发布到Web API Controller;控制器接收参数为Null。
然而,在向Web API Controller发送800条记录时,它确实收到了正确的Json数据。所以这似乎是一些数据/内容长度限制问题。
所以我尝试在下面添加所有选项但没有效果。
1)
<httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="36000" />
2)
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
3)
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
4)
<add key="aspnet:MaxJsonDeserializerMembers" value="451383"/>
请告诉我除了这些选项之外还应该尝试使其有效。我正在使用WebClient
发布的方法如下:
using (var client = new WebClient())
{
client.Headers.Clear();
client.Headers.Add("Content-Type", "application/json; charset=utf-8");
client.UploadStringCompleted += (data, exception) =>
{
if (exception.Error == null) return;
};
client.UploadStringAsync(
new Uri('apiurl')),
jsonString);
}