已超出传入邮件的最大邮件大小限额(65536)

Dar*_*der 9 .net configuration wcf web-services

我有一个WCF服务的以下配置.

即使我增加了maxReceivedMessageSize,服务仍会抛出错误:

已超出传入邮件的最大邮件大小限额(65536).要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性."异常.

怎么解决这个问题?

  <system.serviceModel>
    <services>
      <service name="MyService" behaviorConfiguration="MyServiceTypeBehaviors">
        <endpoint address="http://localhost:22230/MyService.svc"
              binding="basicHttpBinding"
              bindingConfiguration="MyServiceBinding"
              contract="IMyService" />

        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors" >
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <bindings>
      <basicHttpBinding>
        <binding name="MyServiceBinding"
               hostNameComparisonMode="StrongWildcard"
               receiveTimeout="00:10:00"
               sendTimeout="00:10:00"
               openTimeout="00:10:00"
               closeTimeout="00:10:00"
               maxReceivedMessageSize="6553600"
               maxBufferSize="6553600"
               maxBufferPoolSize="524288"
               transferMode="Buffered"
               messageEncoding="Text"
               textEncoding="utf-8"
               bypassProxyOnLocal="false"
               useDefaultWebProxy="true" >
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel
Run Code Online (Sandbox Code Playgroud)

Pet*_*ter 15

如果这是服务配置,您应该查看客户端配置并将maxReceivedMessageSize与服务器消息大小相匹配.消息来自您的客户.

  • 然后,您必须更改WCFTestClient的配置(转到工具和选项)或将更少的数据发送到WCFTestClient. (2认同)
  • 要更改wcf Test Client的配置(在我的情况下为FW 4.0),您应该右键单击配置左侧文件列表树中的最低文件.选择"使用SvcConfigEditor编辑",然后选择"绑定".在绑定元素里面找到这里标记的3个研究员.将其设置为2MB作为合理的大小.http://i.imgur.com/eBdguoy.png (2认同)