catch(QuotaExceededException ex)并获得一些有用的东西?

时间:2009-08-31 16:24:38

标签: c# wcf

它推回给我的唯一信息是:

{"The size necessary to buffer the XML content exceeded the buffer quota."}
System.ServiceModel.QuotaExceededException

我的交通工具需要更多空间吗?比如增加maxBufferPoolSize或maxReceiveMessageSize?

<httpTransport manualAddressing="false" maxBufferPoolSize="500000"
  maxReceivedMessageSize="500000" allowCookies="false" 
  authenticationScheme="Anonymous" bypassProxyOnLocal="false" 
  hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" 
  maxBufferSize="500000" proxyAuthenticationScheme="Anonymous"
  realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
  useDefaultWebProxy="true" />

TIA。

1 个答案:

答案 0 :(得分:3)

啊 - 我看到你已经提升了那些价值 <击> 还有maxBufferPoolSizemaxReceiveMessageSize应该增加, 然后有<ReaderQuotas>的全部过多,有时也会发挥作用(作为<httpBinding>的子节点)。

<wsHttpBinding .......>
    <readerQuotas
            maxDepth="32"
            maxStringContentLength="8192"
            maxArrayLength="16384"
            maxBytesPerRead="4096"
            maxNameTableCharCount="16384"/>
</wsHttpBinding>

这些是默认值 - 首先尝试增加maxArrayLength和maxStringContentLength。

另外,请记住在客户端和服务器端设置这些新值!

马克