1

我想使用 MSMQ 队列来处理对 XML 数据文件的大量操作。如果我正确理解该技术,任务将被传递到队列,它们将由处理程序获取。另外,如果这样的任务很多,handler 会一个一个地抓任务。因此,有一些待处理的任务只是在队列中等待处理程序。

因此,我还应该以百分比显示在网站上处理上传的 XML 文件的进度。问题是我如何才能证明真正没有开始处理的待处理任务的进展。

后编辑

反映处理某些任务的进度的常规方法是通过某个令牌(之前生成的客户端)请求服务返回一定百分比的完整性。然后把它写在网站上。

4

1 回答 1

0

您可以双向打开队列,让处理程序将答案传回给发送者。

MSMQ 可以被不同的进程使用,甚至可以在不同的计算机上运行。这是一种将长时间运行的作业从当前进程中卸载的方法,例如服务。

如果该服务关闭,您的客户端将不知道它,它甚至不应该关心,因为 MSMQ“保证”工作将完成。考虑在这种情况下使用跟踪进度有多少?(除了观察到服务可能已经死了)

如果您只是想做一些简单的异步工作,我建议您查看 Task 类并离开 MSMQ。

于 2012-10-15T17:02:25.233 回答