关于 c#:Design – WCF 流式上传中的进度条

Design - Progress bar in WCF Streaming upload

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

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

启动文件上传后,新线程会再次向服务器请求获取上传文件的状态。在服务器端,正在上传的文件以共享读取模式打开,并将文件长度返回给客户端。根据这个返回值更新进度条。

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


这并不罕见,但如果您正在寻找一种更简洁的方式来执行此操作(避免轮询总是一个好主意),您当然可以在进度发生变化时主动通知程序(例如每 1% 或 10%),通过使用双工合同来报告当前进度。