Design - Progress bar in WCF Streaming upload
我们的项目中有一个要求,即在文件上传到服务器时向用户显示一个进度条。
对于文件上传,我们在 WCF 中使用蒸汽模式。
启动文件上传后,新线程会再次向服务器请求获取上传文件的状态。在服务器端,正在上传的文件以共享读取模式打开,并将文件长度返回给客户端。根据这个返回值更新进度条。
我们每 2 秒轮询一次服务器以获取上传的文件长度。这是一个合适的设计吗?
这并不罕见,但如果您正在寻找一种更简洁的方式来执行此操作(避免轮询总是一个好主意),您当然可以在进度发生变化时主动通知程序(例如每 1% 或 10%),通过使用双工合同来报告当前进度。