设计 - WCF Streaming 上传中的进度条

Design - Progress bar in WCF Streaming upload

我们的项目要求在文件上传到服务器时向用户显示进度条。

对于文件上传,我们在 WCF 中使用 steaming 模式。

启动文件上传后,新线程将再次请求服务器获取上传文件状态。在服务器上,正在上传的文件以共享读取模式打开,并将文件长度return编辑到客户端。基于此 return 值,更新进度条。

我们每 2 秒轮询一次服务器以获取上传文件的长度。这是一个合适的设计吗?

这并不少见,但如果您正在寻找一种 更清洁 的方法来做到这一点(避免轮询总是一个好主意),您当然可以在进度变化(例如,每 1% 或 10%),通过使用 duplex-contract 报告当前进度。