0

我想第一次创建一个 Windows 服务,但只是对它的逻辑有疑问:

我想创建一个服务,每隔 x 秒轮询一个目录,读取此目录中的所有文本文件,将详细信息插入数据库,然后存档此文件。

我该怎么做才能让它每 x 秒运行一次?(其中 x 在配置文件中定义)。

我是否做一个循环,上面写着:

int interval = 5000;
while (TRUE) {
   //my logic
   Thread.Sleep(interval); //pause for 5 seconds
}

这是实现这一目标的公认方法吗?

4

2 回答 2

3

您可以使用FileSystemWatcher而不是每 x 秒检查一次。每当创建、删除或更改给定文件夹中的文件或文件夹时,您都会收到通知

从 msdn检查这里。

于 2012-08-27T05:46:41.233 回答
1

头韵,您可以使用FileSystemWatcherAPI。它在文件夹更改时触发一个事件。如果您在笔记本电脑上,这可以节省电池寿命。

如何监视 Windows 目录的更改?

于 2012-08-27T05:48:01.010 回答