它向我发送的唯一消息是:

{"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。

最佳答案

啊-我看你已经提高了那些值

还有maxBufferPoolSizemaxReceiveMessageSize应该增加,
然后是<ReaderQuotas>的全部过多,有时也起作用(作为<httpBinding>的子节点)。

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


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

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

关于c# - 捕获(QuotaExceededException ex)并得到有用的东西?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1358211/

10-11 02:03