我有一个每天启动的多线程加载服务。我想跟踪装载机的百分比进度。我在想最好在数据库表上有一个更新列来写入 %Progress。但是,我了解到这可能不是一个好主意,因为会有很大的开销(每分钟 5k 更新)。
我被告知最好将进度指示作为 Web 服务公开。
有人可以向我解释我如何实现这一点吗?Web 服务将输出什么 - XML 数据,例如“21.5% Complete”或其他?客户端应用程序如何确定进度 - 我假设 Web 服务应该公开某种通知事件,客户端应用程序将实现并监听更新?
我有一个每天启动的多线程加载服务。我想跟踪装载机的百分比进度。我在想最好在数据库表上有一个更新列来写入 %Progress。但是,我了解到这可能不是一个好主意,因为会有很大的开销(每分钟 5k 更新)。
我被告知最好将进度指示作为 Web 服务公开。
有人可以向我解释我如何实现这一点吗?Web 服务将输出什么 - XML 数据,例如“21.5% Complete”或其他?客户端应用程序如何确定进度 - 我假设 Web 服务应该公开某种通知事件,客户端应用程序将实现并监听更新?
我们有 aysnc webservice,它运行长时间运行的作业,我们在 webservice 上使用辅助方法来查询数据库并将值返回到 UI,因此我们可以运行多个作业并返回值。
不优雅,但它有效。
干杯
伊恩
把事情简单化。
使用 2 个方法,updateProgress 和 getProgress 创建一个 Web 服务。所有 Web 服务都必须将 Progress 存储在静态变量中。
您的加载服务只是发布更新,您的客户会轮询进度以及您认为可以接受的任何速率。