WCF中针对长时间运行的进程的进度通知 - 如何?

And*_*nea 8 wcf notifications duplex polling progress-bar

我必须设计并实现一种处理客户端/服务器应用程序中长时间运行的进程的方法.典型的长时间运行过程可能需要2-3分钟.我还需要在此期间向UI报告进度并保持UI响应.

考虑到这些,我想到了一些解决方案:

  • 一个异步请求启动进程,启动服务器端进程并返回已分配的LRPID(长时间运行进程ID),然后使用该LRPID定期从客户端轮询.(专业:部署简单,没有防火墙搞乱Con:不雅,资源消耗等)

  • 使用双工绑定(例如NetTcpBinding)并在进行过程中从服务器启动回调(Pro:优雅,高效,Con:部署噩梦)

  • [你的建议???]

你对此有何看法?

Mat*_*eis 4

这是Dan Wahlin 撰写的一篇关于如何为 Silverlight 应用程序创建 WCF 进度指示器的文章。这应该有一些帮助。