无法从WCF收集数据

时间:2012-03-07 21:54:07

标签: wcf

我的问题是,当从网络服务下载数据时,比如1250条记录,一切正常(30秒内完成),但当我想获得1300条记录时,我的方法无限期地工作(10分钟后结束)超时)。我测试了sql查询并且查询本身快速执行(也通过调试在wcf服务中测试),但是当有数据传输时,一切都变慢了。 这是我的网络配置绑定:

<basicHttpBinding>
<binding name="soapUniglobShopService" closeTimeout="00:10:00"
    openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
    maxBufferSize="4000000" maxBufferPoolSize="524288" maxReceivedMessageSize="4000000"
    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
    useDefaultWebProxy="true">
  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
  <security mode="None">
    <transport clientCredentialType="None" proxyCredentialType="None"
        realm="" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
  </security>
</binding>

我不知道我应该在web配置中更改什么来获取此记录,或者我应该在IIS中更改某些内容,我不知道。

_ __ _ __ _ __ _ ___ 在页面上找到解决方案:http://ardalis.com/fixing-maxitemsinobjectgraph-quota-error-in-wcf-service

祝你好运 马塞尔

1 个答案:

答案 0 :(得分:1)

您的配置文件需要更高的最大值才能处理更大的数据集。之后你仍然遇到了maxItemsInObjectGraph的问题,它也必须增加。你遇到的问题是,在你增加它的大小之后,“maxItemsInObjectGraph太大了,它只能是65536”,这意味着你需要确保客户端和服务值是相同的。实际上,这适用于所有配置设置,服务和客户端值必须匹配才能使绑定正常工作。