如何将大量数据传递给Web服务

Jar*_*red 4 c# asp.net web-services client-server

我正在构建一个客户端服务器 (c#) 应用程序,它使用 Web 服务来同步数据。

基本上我来回传递数据集的 XML。但根据各种参数,数据集实际上可能非常大。我正在使用 Gzip 压缩 XML,并希望将其传递到 Web 服务器并返回生成的压缩 XML。

来回传递潜在大块数据的最佳方法是什么?

澄清:我想我是在问什么格式最适合传递数据。JSON、SOAP、普通 POST(我对 Web 服务不是很熟悉,所以我确信还有更多我没有想到的)。

Mic*_*ows 5

最好可能取决于很多因素。如果您所说的最佳是指最高性能,则需要考虑以下几点:

  • XML 根本不是最好的方法
  • 二进制序列化效率要高得多。
  • 但是,如果您需要关心互操作性,则可能没有此选项。在这种情况下,您可能需要考虑使用平面文件或分隔格式。
  • 如果这些都不可行,那么您可能会考虑只发送已更改的内容,而不是发送所有数据。
  • 如果这不是一个选择,那么压缩 XML 是一个......好的解决方案。

我将使用 XML 作为最后的手段,因为 XML 中包含许多不必要的元数据,这些元数据很容易使有效负载的大小增加 5 倍以上。