如果超过(65536),如何为WCF服务的传入消息增加最大邮件大小配额

时间:2014-05-07 11:14:34

标签: .net web-services wcf service

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

CONFIG文件详细信息。

<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>

1 个答案:

答案 0 :(得分:3)

很难从您发布的内容中解读您的问题的真正含义。

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

例如:

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