2012-03-07 70 views
1

我的問題是,當從一個web服務下載數據,比如說1250條記錄時,一切正常(30秒內完成),但是當我想要1300條記錄時,我的方法起作用無限期地(超時10分鐘後結束)。我測試了sql查詢,並且查詢本身很快執行(也通過調試在wcf服務中測試過),但是當有數據傳輸時,一切都會變慢。 這是我的web配置結合:無法從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

問候 馬塞爾

+0

您是否檢查過以確保wcf服務配置的最大設置與客戶端應用程序的最大設置相同? – evasilchenko 2012-03-07 21:57:14

+0

是的,它們看起來完全相同 – MCus 2012-03-07 21:58:25

+0

嘗試將所有最大尺寸設置爲2147483647.在客戶端和服務上均包含readerQuotas。重新啓動服務並再次嘗試您的應用程序。如果它有效,那麼這是一個配置問題。 – evasilchenko 2012-03-07 22:01:23

回答

1

您的配置文件,從而要求更高的最大值處理更大的數據集。之後,您仍然遇到maxItemsInObjectGraph問題,該問題也必須增加。你遇到的問題是,在增大它的大小後,「maxItemsInObjectGraph太大了,它只能是65536」,這意味着你需要確保客戶端和服務的值是相同的。實際上,這適用於所有配置設置,服務和客戶端值必須匹配以使綁定正常工作。

+1

請在這裏發佈完整的詳細信息。如果將來有人發現這個問題,在接受的答案中看到它會更方便。 – cadrell0 2012-03-09 14:28:43

+0

#cadrell0 - 完成:) – evasilchenko 2012-03-09 15:10:22