使用WebClient将Json数据发布到WebAPI会将参数显示为Null

时间:2015-04-28 14:43:27

标签: c# asp.net json asp.net-web-api

我试图发布内容长度约为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);
}

0 个答案:

没有答案