在WCF中发送4GB对象列表

时间:2015-01-13 08:25:15

标签: c# wcf silverlight

我有一个包含一些对象列表的服务器。 列表大小在3GB到4GB之间,这使得使用最大消息大小2147483647(2.14 GB)变得不可能。

有办法在一个传输中发送这个大小的列表吗?

或许有一种方法可以将列表分成小部分并发送多线程?

任何想法都会很棒!

1 个答案:

答案 0 :(得分:1)

是的,将它们分批进行多次调用,但是发送服务的数据很多,使用ETL可能会有更简单的选择。

对于批处理,本文将是一个良好的开端:http://www.make-awesome.com/2010/08/batch-or-partition-a-collection-with-linq/如果您创建批次数的查询,那么您可以并行地将它们拉下来。

如果您使用的是本地局域网,那么网络饱和可能无法为您提供并行提取批量所需的性能。从Google或其他方式查看protobuf以实现压缩以获得性能。