调用WCF时,调用已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定。

Posted longdb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用WCF时,调用已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定。相关的知识,希望对你有一定的参考价值。

解决方案:

其实只要在客户端配置文件中加上如下紫色粗体属性(

maxReceivedMessageSize):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>

      
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
                    maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true" messageEncoding="Text">
                    <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
                        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
                <binding name="BasicHttpBinding_IService11" maxReceivedMessageSize="2147483647" />
                <binding name="BasicHttpBinding_IService2" />
              <!--解决- 调用已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定。只要客户端配置这个就够了。2017-10-20 23:45-->
                <binding name="BasicHttpBinding_IService12" maxBufferPoolSize="2147483647"
                    maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:5104/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService11" contract="ServiceReference1.IService1"
                name="BasicHttpBinding_IService1" />
            <endpoint address="http://localhost:5104/Service2.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService2" contract="ServiceReference2.IService2"
                name="BasicHttpBinding_IService2" />
            <endpoint address="http://192.168.0.102/winWCF/Service1.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService12"
                contract="ServiceReference3.IService1" name="BasicHttpBinding_IService11" />
        </client>
    </system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>

 

服务端不用配置如下的节点:

如果还是不对,则可以用vs中工具栏下的==》WCF服务配置编辑器打开客户端.cofig查看是否正确配置。

 

以上是关于调用WCF时,调用已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定。的主要内容,如果未能解决你的问题,请参考以下文章

超过 (65536) 时如何增加 WCF 服务的传入消息的最大消息大小配额

WCF 已超过传入消息(65536)的最大消息大小配额 解决方案

解决异常:已超过传入消息(65536)的最大消息配额

WebService出错 Maximum message size quota for incoming messages (65536) has been exceeded.已超过传入消息(6553

WCF 最大消息大小配额

WCF:如何设置 MaxReceivedMessageSize 配额