我有一个包含一些对象列表的服务器。 列表大小在3GB到4GB之间,这使得使用最大消息大小2147483647(2.14 GB)变得不可能。
有办法在一个传输中发送这个大小的列表吗?
或许有一种方法可以将列表分成小部分并发送多线程?
任何想法都会很棒!
答案 0 :(得分:1)
是的,将它们分批进行多次调用,但是发送服务的数据很多,使用ETL可能会有更简单的选择。
对于批处理,本文将是一个良好的开端:http://www.make-awesome.com/2010/08/batch-or-partition-a-collection-with-linq/如果您创建批次数的查询,那么您可以并行地将它们拉下来。
如果您使用的是本地局域网,那么网络饱和可能无法为您提供并行提取批量所需的性能。从Google或其他方式查看protobuf以实现压缩以获得性能。