增加wcf max收到的邮件配额

时间:2018-08-19 12:23:00

标签: .net wcf

我正在尝试调用我的服务方法,但得到

  

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

     

传入邮件的最大邮件大小配额(65536)已达到   超出。要增加配额,请使用MaxReceivedMessageSize   适当的绑定元素上的属性。

     

服务器堆栈跟踪:位于   System.ServiceModel.Channels.HttpInput.ThrowMaxReceivedMessageSizeExceeded()   在System.ServiceModel.Channels.HttpInput.GetMessageBuffer()...
  异常在[0]处重新抛出:   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage   reqMsg,IMessage retMsg)....

     

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

我尝试将最大Int64值作为maxReceivedMessageSize元素的值,但仍然出现相同的错误!

    <bindings>
        <basicHttpBinding>
             <binding name="myClientBinding" receiveTimeout="00:05:00" sendTimeout="00:05:00" 
                 maxReceivedMessageSize="9223372036854775807"/>     
        </basicHttpBinding>
    </bindings> 
    <client>      
        <endpoint address="http://localhost/myService.svc" binding="basicHttpBinding" 
              bindingConfiguration="myClientBinding" contract="MyServiceInterface" 
              name="myClient" />
    </client>

1 个答案:

答案 0 :(得分:0)

从堆栈跟踪中可以看出,服务器似乎是在抱怨maxReceivedMessageSize的服务器。将服务端绑定更新为所需的最大大小。

除非您确实希望支持9,223,372,036,854,775,807字节的请求大小,否则我会选择一个较小的数字来反映您的最大合理限制。