0

我需要一个处理队列的 VB.NET Forms 应用程序。它基本上需要每 30 秒 ping 一次 Web 服务,然后将文档加载到文档管理系统中(如果有要加载的话)。

我将如何实现这一点?使用循环?我需要查看线程吗?

谢谢

4

4 回答 4

2

如果您已经在使用 Web 服务,那么您可能希望保持服务的类似线程的行为,并减少复杂性。

否则,只需使用 Timer 对象,或者如果可能的话,使用 FileSystemWatcher 作为触发器。

于 2008-12-09T21:14:17.260 回答
1

你是如何定义队列的。您可以使用多线程(即创建一个线程池实例)并让线程池弹出队列中的对象。

但是,如果您在队列对象中有类似文件搜索的内容,那么显然您希望第一个 que 对象在开始第二个之前完成(也就是说,如果它们使用相同的文件)。

于 2008-12-09T20:58:19.790 回答
1

使用 System.Windows.Forms.Timer,设置为 30000 毫秒间隔(30 秒)

使用System.Collections.Generic queue,使用 Enqueue 初始化

让 timer-elapsed 方法使用 Dequeue 从队列中获取下一个元素(可能是 Web 服务 url)并处理它

粗糙,但有效

于 2008-12-09T21:36:24.563 回答
1

在这里获取它http://www.codeddefiner.com/vbnet/vbnetQueue.aspx

于 2009-08-07T12:40:19.993 回答