即使更改为2147483647,也已超过传入邮件的最大邮件大小配额(65536)

时间:2015-07-23 15:17:14

标签: wcf wcf-binding

我正在使用WCF客户端并调用方法GetEmployeeId。在GetEmployeeId方法中,我有一个return语句。

return employeeid;

当我在employeeid上添加断点时,它有4984个id。

点击“继续”后,我收到以下错误:

  

无法调用该服务。可能的原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理,还原到默认配置或刷新服务来恢复。

     

内部例外:
  已超出传入邮件的最大邮件大小限额(65536)。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。

在客户端和服务中,我正在使用:

<bindings>
   <basicHttpBinding >
      <binding name="MybasicHttpBinding" 
           maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
           maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
                        maxArrayLength="2147483647" />
      </binding>
   </basicHttpBinding>
</bindings>

,端点地址为:

<endpoint 
    address="http://localhost/EmployeeService/Service.svc" 
    binding="basicHttpBinding" 
    bindingConfiguration="MybasicHttpBinding"
    contract="Employee.Contract.IEmployee" >

1 个答案:

答案 0 :(得分:0)

可轻松实现小于最大大小配额的ID数。例如,如果你有一个看起来像

的基本ID

5

然后即使它是“1”记录,它占用26个字节的“大小”。