【问题标题】:Over MaxStringContentLength?超过 MaxStringContentLength?
【发布时间】:2013-02-05 15:00:42
【问题描述】:

我有一些 .asmx 网络服务,作为 .NET 4.5 上的服务参考导入。

他们下载一个 XML 字符串,然后我尝试使用 XmlDocument 处理它。

好吧,现在我收到了这个错误:读取 XML 数据时超出了最大字符串内容长度配额 (8192)。可以通过更改创建 XML 阅读器时使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性来增加此配额

我该如何解决这个问题?我在 Visual Studio 2010 上,试过 this,但是是 WCF,我找不到那个区域。

尝试在调用 web 服务的函数之前添加此代码:

XmlDictionaryReaderQuotas myConf = new XmlDictionaryReaderQuotas();
myConf.MaxStringContentLength = 202400;

但没有任何改变!

【问题讨论】:

  • 您能否发布一些调用 Web 服务的代码?你是把它添加为服务引用,你是用SoapClient还是WebClient,第三方库?
  • 我正在使用服务参考。代码如调用webservice实例的函数,仅此而已!
  • 服务引用实际上是在后台使用 WCF,因此指向该文章的链接正是您所需要的。如果您仍然遇到问题,请发布您的 app.config / web.config 的 sn-p 绑定和服务客户​​端端点。
  • 事实上,我在 webconfig 中找到了值 maxStringContentLength,并更改了该值。你为什么说“你实际上在使用 WCF”?当我导入时,我看到 .scinfo 文件和 .wsdl!我以前知道它们是 .asmc,不是吗?
  • 您是否还看到了 Reference.cs 文件(在服务参考目录中)?这是由一个名为 svcutil 的工具生成的,该工具从 WSDL 生成 WCF 客户端代码。

标签: .net xml web-services asmx


【解决方案1】:

您必须从您的配置或创建绑定时更改 MaxStringContentLength。除此之外,它在服务器和客户端上必须相同。如果不是,您可以发送它,但不能接收内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-08
    • 2011-10-24
    • 1970-01-01
    • 2012-03-02
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    相关资源
    最近更新 更多