【问题标题】:How to increase maximum message size quota for incoming messages for a WCF service when (65536) has been exceeded超过 (65536) 时如何增加 WCF 服务的传入消息的最大消息大小配额
【发布时间】:2014-06-24 08:10:51
【问题描述】:

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

配置文件详细信息。

<services>
  <service behaviorConfiguration="WCFServiceBehavior"
           name="GenServiceLibrary.IFileUploadService">
    <endpoint address="FileUploadService.svc" binding="basicHttpBinding"
              behaviorConfiguration="CoreServiceBehavior"
              bindingConfiguration="WCFServiceBinding" 
              contract="GenServiceLibrary.IFileUploadService"/>
    <endpoint address="mex" binding="mexHttpsBinding" 
              contract="IMetadataExchange"/>
  </service>
  <service behaviorConfiguration="WCFServiceBehavior"
           name="GenServiceLibrary.Service.svc">
    <endpoint address="Service.svc" binding="basicHttpBinding"
              behaviorConfiguration="CoreServiceBehavior"
              bindingConfiguration="WCFServiceBinding"
              contract="GenServiceLibrary.ICommonService"/>
    <endpoint address="mex" binding="mexHttpsBinding" 
              contract="IMetadataExchange"/>
  </service>
</services>
<bindings>
  <basicHttpBinding>
    <binding name="WCFServiceBinding" maxBufferPoolSize="1024000"
             maxBufferSize="1024000" maxReceivedMessageSize="1024000">
      <readerQuotas maxDepth="1024000" maxStringContentLength="1024000"
                    maxArrayLength="1024000" maxBytesPerRead="1024000"
                    maxNameTableCharCount="1024000" />
    </binding>
  </basicHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="WCFServiceBehavior">
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="CoreServiceBehavior">
      <webHttp />
    </behavior>
  </endpointBehaviors>
</behaviors>

【问题讨论】:

    标签: .net web-services wcf service


    【解决方案1】:

    很难从您发布的内容中看出您的问题到底是什么。

    为了使用 WCF 传输大型消息,您需要确保在客户端和服务器配置文件中增加消息配额值以解决该问题。否则,分辨率相对简单,只需将配置调整为更高的值即可。

    例如:

    <binding name="DefaultBasicHttpBinding" maxBufferPoolSize="1024000" maxBufferSize="1024000" maxReceivedMessageSize="1024000">
      <readerQuotas maxDepth="1024000" maxStringContentLength="1024000" maxArrayLength="1024000" maxBytesPerRead="1024000" maxNameTableCharCount="1024000" />
    </binding>
    

    【讨论】:

    • 客户端和服务器配置中的值是否都增加了?
    • 感谢 Seymour.yes,但是当我仅在服务器内部使用服务时会发生这种情况。
    猜你喜欢
    • 2013-11-03
    • 2014-02-01
    • 2014-10-23
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2020-10-06
    相关资源
    最近更新 更多