【发布时间】:2016-08-18 16:15:43
【问题描述】:
我们的项目要求在文件上传到服务器时向用户显示进度条。
对于文件上传,我们在 WCF 中使用蒸汽模式。
启动文件上传后,新线程会再次向服务器请求获取上传文件的状态。在服务器上,正在上传的文件以共享读取模式打开,并将文件长度返回给客户端。根据这个返回值更新进度条。
我们每 2 秒轮询一次服务器以获取上传的文件长度。这是一个合适的设计吗?
【问题讨论】:
标签: c# wcf file-upload progress-bar
我们的项目要求在文件上传到服务器时向用户显示进度条。
对于文件上传,我们在 WCF 中使用蒸汽模式。
启动文件上传后,新线程会再次向服务器请求获取上传文件的状态。在服务器上,正在上传的文件以共享读取模式打开,并将文件长度返回给客户端。根据这个返回值更新进度条。
我们每 2 秒轮询一次服务器以获取上传的文件长度。这是一个合适的设计吗?
【问题讨论】:
标签: c# wcf file-upload progress-bar
这并不罕见,但如果您正在寻找一种更清洁的方法来做到这一点(避免轮询总是一个好主意),您当然可以在进度发生变化时主动通知程序(例如,每个1% 或 10%),通过使用 duplex-contract 报告当前进度。
【讨论】: