400错误请求:使用WCF Rest服务从Android设备发布大数据(> 65KB)(JSON格式)

时间:2017-05-13 08:16:01

标签: android json rest wcf wcf-binding

我使用json格式的WCF服务将数据从android发布到服务器。一切都很好。我尝试发布超过65KB的数据时遇到问题。但是当我使用Rest客户端发布相同的数据时它工作正常。从android发布时会出现问题。

我已将绑定标记中的所有属性设置为最大值。和reqderquotas标签中的相同。以下是我的网络配置设置

<bindings>
<webHttpBinding>
    <binding maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" sendTimeout="00:20:00" receiveTimeout="00:20:00" openTimeout="00:20:00" closeTimeout="00:20:00">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </webHttpBinding>
</bindings>

请让我知道我做错了什么。因为我使用相同的服务和相同的Web配置设置发布超过300KB的文件。发布json时只会出错。

2 个答案:

答案 0 :(得分:0)

这是一个常见的错误。可能你是在错误的一面。如果你接受超过65k的肥皂服务,你必须增加maxReceivedMessageSize。现在确保您的客户端和服务器大小都增加了。

答案 1 :(得分:0)

错误请求是因为无效的UTF-8字符而不是因为大数据。我使用了以下来诊断WCF服务。

<system.diagnostics>
<sources>
  <source name="System.ServiceModel"
             switchValue="Information, ActivityTracing"
             propagateActivity="true">
    <listeners>
      <add name="traceListener"
           type="System.Diagnostics.XmlWriterTraceListener"
           initializeData= "c:\log\Traces.svclog" />
    </listeners>
  </source>
</sources>