如何在webservice调用中处理大量数据?

时间:2014-01-27 06:58:51

标签: c# xml web-services rest visual-studio-2008

我在c#中调用drupal RESET webservice调用,这个webservice返回大量数据(超过30 mb)。我将这些数据作为XML格式,但它没有处理那么多数据。如果我限制我的查询限制行数,那么我的代码工作正常。我想知道如何处理通过c#中的webservice调用收到的大量数据。

1 个答案:

答案 0 :(得分:0)

问题太广了。我的意思是有很多可能的地方可以解决这个问题。您想要解决的部分是什么?

通常,您可以执行以下操作:

  1. 您在http层上压缩压缩。这可能会降低解决方案的吞吐量。
  2. 您可以选择其他序列化,例如json或者例如protobuf,kryo
  3. 您可以提供分页功能。你可能已经做到了。此解决方案为所有可能的查询提供合理的页面大小。
  4. 您可以提供传入数据的流处理。我不认为REST旨在提供大型xml输出(数十mbs),但您可以在客户端上以流方式处理数据。这可以减少解决方案的内存需求。