WCF服务返回意外响应:(413)请求实体太大

Rak*_*kin 8 c# wcf web-config

我使用WCF实现了一小组REST服务.其中一项服务收到大量数据.在调用它时(这是从visual studio运行它 - 我还没有将它部署到生产服务器)我得到了错误

远程服务器返回错误:(413)请求实体太大.

我的网络配置

<binding name="BasicHttpBinding_ISalesOrderDataService" 
         closeTimeout="00:10:00"
         openTimeout="00:10:00" 
         receiveTimeout="00:10:00" 
         sendTimeout="00:10:00"
         allowCookies="false" 
         bypassProxyOnLocal="false" 
         hostNameComparisonMode="StrongWildcard"
         maxBufferPoolSize="2147483647" 
         maxBufferSize="2147483647" 
         maxReceivedMessageSize="2147483647"
         textEncoding="utf-8" 
         transferMode="Buffered" 
         useDefaultWebProxy="true"
         messageEncoding="Text">
  <readerQuotas maxDepth="2000000" 
                maxStringContentLength="2147483647"
                maxArrayLength="2147483647" 
                maxBytesPerRead="2147483647"
                maxNameTableCharCount="2147483647" />
  <security mode="None">
    <transport clientCredentialType="None" 
               proxyCredentialType="None" 
               realm="" />
    <message clientCredentialType="UserName" 
             algorithmSuite="Default" />
  </security>
</binding>
Run Code Online (Sandbox Code Playgroud)

小智 3

除了增加消息大小和缓冲区大小引号之外,还可以考虑增加序列化程序的maxItemsInObjectGraph。如果您的对象内部具有复杂的结构或对象数组,这可能很重要。我们的典型设置看起来是这样的

 <behaviors>
  <endpointBehaviors>
    <behavior name="GlobalEndpoint">
      <dataContractSerializer maxItemsInObjectGraph="1365536" />
    </behavior>
 </behaviors>
 <serviceBehaviors>
    <behavior name="GlobalBehavior">
      <dataContractSerializer maxItemsInObjectGraph="1365536" />
    </behavior>
 </serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)

另外,Zwan 提出了什么建议