将大量JSON数据发布到WCF服务

时间:2013-02-19 18:25:54

标签: c# json wcf

我正在使用.NET WCF服务,该服务从另一个.NET应用程序接受JSON数据作为HTTP Post。

当我发布少量数据时,一切正常(〜高达65kb的数据)

然而,当我尝试发布更多内容时,我在服务端收到内部服务器错误。

一切都指向服务仅限于接受高达65kb的数据。

我已阅读有关修改配置文件以使用maxrequestmessagesize属性接受更多数据的信息,但我的问题是我的web.config没有任何我能看到的绑定。

以下是我的配置文件中与服务相关的内容

<system.serviceModel>

    <behaviors>

      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>

          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

我不知道该怎么办才能超过65 k的限制 - 任何帮助都会受到赞赏。

由于

2 个答案:

答案 0 :(得分:2)

在您的配置中使用此功能:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_ImyService"
                maxBufferPoolSize="2147483647"
                maxReceivedMessageSize="2147483647">
            </binding>
        </basicHttpBinding>
    </bindings>

</system.serviceModel>

答案 1 :(得分:1)

我只是快速浏览一下,我在不同的地方有4个设置为我的WCF服务“提高请求大小栏”:

maxarraylength(binding / readerquotas标签) maxbuffersize(绑定标记) maxreceivedmessagesize(绑定标记) maxrequestlength(system.web / httpruntime tag)

我不确定为什么配置中没有绑定。也许如果没有指定,那么使用默认值?你有任何服务/服务/端点标签吗?也许你是通过代码设置这些?