我过去曾经遇到过几次异常,每次我只是更改配置以允许更大的对象图。
“对象图中可以序列化或反序列化的最大项目数为'65536'。更改对象图或增加MaxItemsInObjectGraph配额。”
然而,我正在和一位同事交谈,他说WCF不应该用来发送大量数据,而是数据应该是一口大小。
那么返回大量数据的普遍共识是什么?
答案 0 :(得分:1)
我没有任何具体的例子,但this article似乎指向WCF用于大型数据集,我知道人们将它用于图像。
就个人而言,我一直不得不为任何真实世界的数据增加此属性。
答案 1 :(得分:1)
根据我使用同步Web服务操作传输大型数据集或文件的经验会导致许多不同的问题。
首先,您遇到与性能相关的问题 - 服务边界的序列化时间。然后你有可用性问题。传入请求可能会超时等待响应,或者可能会被拒绝,因为没有调度程序线程来处理请求。
将大数据传输和处理委托给某些脱机异步进程要好得多。
例如,在您的情况下,您发送请求,服务会将URI返回到您想要的最终资源。您可能必须等待资源可用,但您可以适当地为您的消费者编码。