通过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/