带有进度条的WebService

时间:2012-03-30 19:15:29

标签: c# web-services

编写一个客户端应用程序,通过Web服务将图像发送到服务器。由于数据量可能很大,我需要一个显示进度的进度条。有人能指出我正确的方向,如何挂钩到网络服务,这样我就可以在客户端显示进展。

3 个答案:

答案 0 :(得分:3)

当你必须发送大量数据并且没有线程时,获取进度条的一种简单方法是将数据拆分为较小的块,然后逐个发送,这样你就知道了进度,当然,服务必须能够在之后加入各个部分。

答案 1 :(得分:0)

其中一种可能的方法是将文件拆分为较小的块,然后通过单独的服务调用逐块上传它们,以便显示进度。

一个小缺点是,当最后一个到达那里时,你必须把所有的块放在服务器端的大文件中。

答案 2 :(得分:0)

一个想法如下:

  1. 正常调用Web服务。
  2. Web服务立即返回,提供唯一标识符(例如,id或GUID)。 Web服务继续处理请求(异步)。有时,它会使用进度更新来更新状态位置(例如,DB字段)。
  3. 客户端调用第二个Web服务,提供标识符作为参数。然后,第二个Web服务提供当前状态。其中一个状态消息是“完成”。
  4. 客户端继续轮询状态更新,直到返回“完成”消息。
  5. 收到“完整”消息后,客户端正在调用第三个Web服务以检索最终结果(提供标识符)。