已超过传入消息的最大消息大小配额(65536)。若要增加配额,请使用相应绑定元素的MaxReceivedMessageSize属性。
我在配置文件中的部分
<system.serviceModel>
<services>
<service name="RestAPI.RiskEventAPI" behaviorConfiguration="metadataBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="RestAPI.IRiskEventAPI"/>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
<behavior name="RestAPI.RiskEventAPIBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="REST">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="BindingWithMaxSizeIncreased"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>令人困惑的是,到处都是web,而且没有专门针对REST和WCF的东西。调试窗口出现了,但我在这个问题的顶部得到了错误...
这不会影响任何事情:
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="BindingWithMaxSizeIncreased"
contract="RestAPI.IRiskEventAPI"/>正在复制
<webHttpBinding> to <basicHttpBinding> didn't help either我试过了…我使用了wcf编辑器并添加了一个mexHttpBinding,但它与maxBufferSize,maxBufferPoolSize和maxReceivedMessageSize有问题(说他们是不允许的)
<mexHttpBinding>
<binding name="bindingMex"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"/>
</mexHttpBinding>我试过这个(也不起作用):
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="IncreasedBindingMaxSize" contract="IMetadataExchange" />
...
<basicHttpBinding>
<binding name="IncreasedBindingMaxSize" maxBufferSize="2147483647"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>发布于 2016-10-20 03:24:56
我认为您遇到这个问题的原因是因为您似乎没有为webHttp显式定义端点,并且您没有在配置中使用默认绑定(即,没有name属性的<binding>元素)。
这意味着系统将使用webHttpBinding的默认值(较小)。不清楚您是否想为您的服务同时使用SOAP和REST端点-您有一个使用basicHttpBinding显式定义的端点,它似乎是面向SOAP的,但我不确定。
您可以做的是更改您的服务端点并使用webHttpBinding,REST行为,并通过`部分中<endpoint>元素上的bindingConfiguration属性将较大的绑定配置"BindingWithMaxSizeIncreased“显式地分配给该端点,如下所示:
<endpoint address=""
behaviorConfiguration="REST"
binding="webHttpBinding"
bindingConfiguration="BindingWithMaxSizeIncreased"
contract="RestAPI.IRiskEventAPI"/>如果您确实需要basicHttpBinding端点,您可以使用webHttpBinding添加另一个端点,尽管您可能需要一个不同于address=""的地址,可能类似于address="REST"。
https://stackoverflow.com/questions/40136466
复制相似问题