1

我有一个每天启动的多线程加载服务。我想跟踪装载机的百分比进度。我在想最好在数据库表上有一个更新列来写入 %Progress。但是,我了解到这可能不是一个好主意,因为会有很大的开销(每分钟 5k 更新)。

我被告知最好将进度指示作为 Web 服务公开。

有人可以向我解释我如何实现这一点吗?Web 服务将输出什么 - XML 数据,例如“21.5% Complete”或其他?客户端应用程序如何确定进度 - 我假设 Web 服务应该公开某种通知事件,客户端应用程序将实现并监听更新?

4

2 回答 2

0

我们有 aysnc webservice,它运行长时间运行的作业,我们在 webservice 上使用辅助方法来查询数据库并将值返回到 UI,因此我们可以运行多个作业并返回值。

不优雅,但它有效。

干杯

伊恩

于 2010-07-22T12:24:24.863 回答
-1

把事情简单化。

使用 2 个方法,updateProgress 和 getProgress 创建一个 Web 服务。所有 Web 服务都必须将 Progress 存储在静态变量中。

您的加载服务只是发布更新,您的客户会轮询进度以及您认为可以接受的任何速率。

于 2010-08-14T23:03:26.527 回答