从Web服务输出大数据集

时间:2010-08-19 18:35:09

标签: c# wcf dataset webservice-client

我想知道是否有人从webservice返回大型数据集。 数据集大约为10,000 x 60个浮点数。

我将使用http wcf作为我的webservice。 任何接近它的想法都是受欢迎的:)

感谢。

2 个答案:

答案 0 :(得分:1)

没有技术理由你不能这样做。

您只需要考虑正在传输的数据量,并意识到您的客户可能需要一段时间来下载和反序列化结果。

如果您真的担心通过网络传输的数据量,您可以使用像Google协议缓冲区这样的库来进行二进制序列化(而不是使用WCF开箱即用的XML或JSON)。您可以在以下位置找到Protocol Buffers的.NET端口:

protobuf-net - Project Hosting on Google Code

答案 1 :(得分:1)

这不是大数据集。您可以使用Web服务返回此类数据集,而不会出现任何实现问题。您只需要在客户端上设置maxReceivedMessageSize和maxArrayLength。

你应该问的真正问题是:

  • 有多少并发客户端可以使用此服务?
  • 预期的响应时间是什么?
  • 客户多久调用一次此服务?
  • 生产服务器上有哪些带宽?
  • 客户可以使用哪些带宽?

这些问题的答案显示2.3MB是否是一个大数据集。如果你害怕性能和响应时间,你一定要计划负载测试。