我有一個非常奇怪的情況。我有一大組記錄作爲WCF服務的List返回。如果我將該設置作爲DataTable返回,則一切正常。該集合中約有19,000條記錄。如果我將該集作爲List返回(其中T是DataContract),則返回錯誤並在返回任何長度超過10922條記錄的集時關閉連接。我認爲這與我的數據有關,除非另一個人報告了10922條記錄的限制完全相同的問題。有沒有其他人遇到過這個問題,如果有的話,你是如何解決它的?10922 WCF中.Net 3.5的記錄限制
回答
我們遇到了同樣的問題。
從服務跟蹤日誌,我們可以檢索以下異常:
錯誤,而試圖序列參數[]。嘗試序列化參數[]時的最大數量錯誤。在對象圖中可以序列化或反序列化的項目的最大數量是'65536'。更改對象圖或增加MaxItemsInObjectGraph配額。
使用參數maxItemsInObjectGraph更改dataContractSerializer關鍵字後,即使使用數百萬條記錄(條件是您相應地更改了maxReceivedMessageSize),所有內容仍能平穩運行。
的web.config:
<behaviors>
<serviceBehaviors>
<behavior name="WasteWatcher.TestService.ServiceImplementation.TestService_Behavior">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
的app.config:
這些變化在web.config中,並以下列方式在app.config進行
<behaviors>
<endpointBehaviors>
<behavior name="SerializerBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
</behaviors>
不要忘記將參數behaviorConfiguration =「SerializerBehavior」添加到端點k安永:
<endpoint address="http://localhost:9542/TestService.Host/TestService.svc"
binding="customBinding" bindingConfiguration="DefaultEndpoint"
contract="WasteWatcher.TestService.Test.Client.TestServiceProxy.TestServiceContract"
name="DefaultEndpoint" behaviorConfiguration="SerializerBehavior">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
問候
馬庫斯Rohlof
我們實際上在工作中遇到了這個問題。我們嘗試通過WCF Web服務發送大量數據。我們得到了20,000條記錄,所以我們最終打破了數據並進行了一些Web服務調用。你能做類似的事嗎?把記錄分成更小的塊,然後在另一端合併它們?
打破通話不是一個選項。 – 2010-02-25 21:43:02
在客戶端和服務器上檢查您的端點的maxReceivedMessageSize。
這對結果沒有影響。 – 2010-02-25 21:42:23
- 1. 如何限制WCF日誌記錄
- 2. .NET中的REST友好WCF終端3.5
- 3. .NET 3.5 WCF請求過濾
- 4. 在sqlite中限制記錄
- 5. .NET WCF權限
- 6. 限制Rails中表中的記錄數
- 7. log4net不記錄混合使用.net 1.1和.net 3.5
- 8. Aerospike select query中的記錄數限制
- 9. 遞歸中的限制記錄
- 10. coreplot中記錄的最大限制
- 11. AppEngine上記錄限制
- 12. MySQL表記錄限制
- 13. 在mysql中記錄不同記錄後應用10的限制
- 14. sql限制唯一記錄
- 15. VB6 ADO記錄集限制
- 16. mysqldump限制記錄之間
- 17. 增加頭部到.NET 3.5 WCF客戶
- 18. 限制fields_for僅限1個新記錄
- 19. 的.NET Framework 3.5,集綁定日誌記錄
- 20. wcf maxReceivedMessageSize限制
- 21. .NET 3.5中的Expression.Default
- 22. 抑制了.NET 3.5 SP1 REDIST
- 23. .NET 3.0和.NET 3.5之間的WCF區別
- 24. .NET 4基於內容的WCF路由與.NET 3.5 Compact Framework
- 25. 用於限制記錄的SQL查詢
- 26. 分組時的限制數記錄
- 27. 選擇唯一的記錄限制與
- 28. GO lang記錄包的限制
- 29. 限制sql記錄的導航
- 30. 限制聊天記錄的大小
BTW,返回按預期的DataTable作品數據,所以我知道這不是一個大小問題,它得是一個bug其他地方。 – 2010-02-25 21:43:58
http://stackoverflow.com/questions/7476853/wcf-error-maximum-number-of-items-that-can-be-serialized-or-deserialized-in-an – 2013-01-30 07:39:07