我必须设计一个可以传输大量数据并每天工作一次的集成解决方案。我们使用的公司X将调用服务/服务并将数据作为参数提供。
您对此解决方案有什么建议吗?
例如,您是否认为我必须告诉公司X他们必须发送压缩(gzip?)数据?
或者我必须实现这种使用场景:
while(!allDataSent)
{
SendData(List<object> objects);
}
TransferCompleted();
你是如何开发这类任务的?
答案 0 :(得分:0)
一个好的起点是为将要进行数据传输的服务和客户端提供单独的端点,因为您需要更改在连接中可以发送和接收的数据量的超时和最大限制。如果它不是时间关键,你可以使用IEnumerable<YourType>
作为函数的返回类型,在客户端,它们可以将它用作流,并且可以在获取数据时批量保存它,这样就不会有需要把它全部记在内存中。
在客户端,它看起来像这样:
foreach (var bytes = servliceClient.GetLargeAmountOfData())
SaveByteToDisc(bytes);
有关绑定属性的信息,请访问MSDN