我需要一个处理队列的 VB.NET Forms 应用程序。它基本上需要每 30 秒 ping 一次 Web 服务,然后将文档加载到文档管理系统中(如果有要加载的话)。
我将如何实现这一点?使用循环?我需要查看线程吗?
谢谢
如果您已经在使用 Web 服务,那么您可能希望保持服务的类似线程的行为,并减少复杂性。
否则,只需使用 Timer 对象,或者如果可能的话,使用 FileSystemWatcher 作为触发器。
你是如何定义队列的。您可以使用多线程(即创建一个线程池实例)并让线程池弹出队列中的对象。
但是,如果您在队列对象中有类似文件搜索的内容,那么显然您希望第一个 que 对象在开始第二个之前完成(也就是说,如果它们使用相同的文件)。
使用 System.Windows.Forms.Timer,设置为 30000 毫秒间隔(30 秒)
使用System.Collections.Generic queue,使用 Enqueue 初始化
让 timer-elapsed 方法使用 Dequeue 从队列中获取下一个元素(可能是 Web 服务 url)并处理它
粗糙,但有效