通过WCF实现Web Service时遇到一些问题。当我从客户端应用程序将WCF方法中的值作为字符串(xml)传递时,出现错误


InnerException消息是



我尝试更改客户端web.configuration文件中maxStringContentLength的值,但错误仍然相同。请尽快找出解决方案。

最佳答案

灰溜溜的,达林意味着您应该创建一个basicHttpBinding来覆盖maxStringContentLength的值并将其值增加到2147483647。是否可以确认是否已将终结点配置为使用具有bindingConfiguration属性的相同binidng。例如,您已经创建了这样的绑定(bind),

<basicHttpBinding>
   <binding name="HandleLargeMessage" maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="2147483647"
         maxStringContentLength="2147483647"
         maxArrayLength="2147483647"
         maxBytesPerRead="2147483647"
         maxNameTableCharCount="2147483647" />
   </binding>

您可以配置端点以使用上述绑定(bind)配置,(请注意bindingConfiguration属性)
<endpoint
     address="....."
     binding="basicHttpBinding" bindingConfiguration="HandleLargeMessage"
     contract="xxx" />

您可以确认是否已经完成吗?很有可能在这里似乎并非如此。

如果您已遵循此步骤并想确认是否已使用它,请以详细级别捕获服务和客户端应用程序的WCF跟踪,并在“服务构建宿主”和“客户端应用程序的构建 channel ”中检查事件。

关于.net - WCF-Win App “The maximum string content length quota (8192) has been exceeded while reading XML data.”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4906128/

10-17 01:21