相关疑难解决方法(0)

WCF中有大量请求的问题

我已经看到这个问题发布了一百万次,但没有一个解决方案对我有用......所以我去了:

调用WCF服务时,我收到以下错误:

格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数 http://BlanketImportService.ServiceContracts/2011/06:request时出错.InnerException消息是'反序列化BlanketImport.BlanketImportRequest类型的对象时出错.读取XML数据时已超出最大数组长度配额(16384).通过更改创建XML阅读器时使用的XmlDictionaryReaderQuotas对象上的MaxArrayLength属性,可以增加此配额.第1行,第44440行.'.有关更多详细信息,请参阅InnerException.

我修改了readerQuotas客户端服务器,并应用了bindingConfiguration标签.

这是服务器配置:

<bindings>
  <basicHttpBinding>
    <binding name="BilagImportBinding" maxBufferSize="2147483647"
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>
</bindings>

<services>
  <service name="BlanketImport">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BilagImportBinding" bindingNamespace="http://BlanketImportService.ServiceContracts/2011/06" contract="BlanketImport.IBlanketImport">
    </endpoint>
  </service>
</services>
Run Code Online (Sandbox Code Playgroud)

而客户端配置:

  <bindings>
    <basicHttpBinding>
      <binding name="BilagImportBinding" maxBufferSize="2147483647"
        maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
          maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      </binding>
    </basicHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://localhost/BlanketImport/BlanketService.svc"
      binding="basicHttpBinding" bindingConfiguration="BilagImportBinding" contract="BlanketServiceReference.IBlanketService"
      name="BasicHttpBinding_IBlanketService" />
  </client>
Run Code Online (Sandbox Code Playgroud)

wcf binding basichttpbinding

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

basichttpbinding ×1

binding ×1

wcf ×1